@@ -47,7 +47,10 @@ class Listeners {
4747 // Seek by the number keys
4848 const seekByKey = ( ) => {
4949 // Divide the max duration into 10th's and times by the number value
50- player . currentTime = ( player . duration / 10 ) * ( code - 48 ) ;
50+ const target = ( player . duration / 10 ) * ( code - 48 ) ;
51+ this . proxy ( event , ( ) => {
52+ player . currentTime = target
53+ } , 'seek' )
5154 } ;
5255
5356 // Handle the key on keydown
@@ -100,52 +103,56 @@ class Listeners {
100103 case 75 :
101104 // Space and K key
102105 if ( ! repeat ) {
103- silencePromise ( player . togglePlay ( ) ) ;
106+ this . proxy ( event , ( ) => silencePromise ( player . togglePlay ( ) ) , 'play' )
104107 }
105108 break ;
106109
107110 case 38 :
108111 // Arrow up
109- player . increaseVolume ( 0.1 ) ;
112+ this . proxy ( event , ( ) => player . increaseVolume ( 0.1 ) , 'volume' )
110113 break ;
111114
112115 case 40 :
113116 // Arrow down
114- player . decreaseVolume ( 0.1 ) ;
117+ this . proxy ( event , ( ) => player . decreaseVolume ( 0.1 ) , 'volume' )
115118 break ;
116119
117120 case 77 :
118121 // M key
119122 if ( ! repeat ) {
120- player . muted = ! player . muted ;
123+ this . proxy ( event , ( ) => {
124+ player . muted = ! player . muted
125+ } , 'mute' )
121126 }
122127 break ;
123128
124129 case 39 :
125130 // Arrow forward
126- player . forward ( ) ;
131+ this . proxy ( event , player . forward , 'fastForward' )
127132 break ;
128133
129134 case 37 :
130135 // Arrow back
131- player . rewind ( ) ;
136+ this . proxy ( event , player . rewind , 'rewind' )
132137 break ;
133138
134139 case 70 :
135140 // F key
136- player . fullscreen . toggle ( ) ;
141+ this . proxy ( event , ( ) => player . fullscreen . toggle ( ) , 'fullscreen' )
137142 break ;
138143
139144 case 67 :
140145 // C key
141146 if ( ! repeat ) {
142- player . toggleCaptions ( ) ;
147+ this . proxy ( event , ( ) => player . toggleCaptions ( ) , 'captions' )
143148 }
144149 break ;
145150
146151 case 76 :
147152 // L key
148- player . loop = ! player . loop ;
153+ this . proxy ( event , ( ) => {
154+ player . loop = ! player . loop
155+ } , 'loop' )
149156 break ;
150157
151158 /* case 73:
@@ -167,7 +174,7 @@ class Listeners {
167174 // Escape is handle natively when in full screen
168175 // So we only need to worry about non native
169176 if ( code === 27 && ! player . fullscreen . usingNative && player . fullscreen . active ) {
170- player . fullscreen . toggle ( ) ;
177+ this . proxy ( event , ( ) => player . fullscreen . toggle ( ) , 'fullscreen' )
171178 }
172179
173180 // Store last code for next cycle
0 commit comments