@@ -46,7 +46,10 @@ class Listeners {
4646 // Seek by the number keys
4747 const seekByKey = ( ) => {
4848 // Divide the max duration into 10th's and times by the number value
49- player . currentTime = ( player . duration / 10 ) * ( code - 48 ) ;
49+ const target = ( player . duration / 10 ) * ( code - 48 ) ;
50+ this . proxy ( event , ( ) => {
51+ player . currentTime = target
52+ } , 'seek' )
5053 } ;
5154
5255 // Handle the key on keydown
@@ -99,52 +102,56 @@ class Listeners {
99102 case 75 :
100103 // Space and K key
101104 if ( ! repeat ) {
102- player . togglePlay ( ) ;
105+ this . proxy ( event , player . togglePlay , 'play' )
103106 }
104107 break ;
105108
106109 case 38 :
107110 // Arrow up
108- player . increaseVolume ( 0.1 ) ;
111+ this . proxy ( event , ( ) => player . increaseVolume ( 0.1 ) , 'volume' )
109112 break ;
110113
111114 case 40 :
112115 // Arrow down
113- player . decreaseVolume ( 0.1 ) ;
116+ this . proxy ( event , ( ) => player . decreaseVolume ( 0.1 ) , 'volume' )
114117 break ;
115118
116119 case 77 :
117120 // M key
118121 if ( ! repeat ) {
119- player . muted = ! player . muted ;
122+ this . proxy ( event , ( ) => {
123+ player . muted = ! player . muted
124+ } , 'mute' )
120125 }
121126 break ;
122127
123128 case 39 :
124129 // Arrow forward
125- player . forward ( ) ;
130+ this . proxy ( event , player . forward , 'fastForward' )
126131 break ;
127132
128133 case 37 :
129134 // Arrow back
130- player . rewind ( ) ;
135+ this . proxy ( event , player . rewind , 'rewind' )
131136 break ;
132137
133138 case 70 :
134139 // F key
135- player . fullscreen . toggle ( ) ;
140+ this . proxy ( event , ( ) => player . fullscreen . toggle ( ) , 'fullscreen' )
136141 break ;
137142
138143 case 67 :
139144 // C key
140145 if ( ! repeat ) {
141- player . toggleCaptions ( ) ;
146+ this . proxy ( event , ( ) => player . toggleCaptions ( ) , 'captions' )
142147 }
143148 break ;
144149
145150 case 76 :
146151 // L key
147- player . loop = ! player . loop ;
152+ this . proxy ( event , ( ) => {
153+ player . loop = ! player . loop
154+ } , 'loop' )
148155 break ;
149156
150157 /* case 73:
@@ -166,7 +173,7 @@ class Listeners {
166173 // Escape is handle natively when in full screen
167174 // So we only need to worry about non native
168175 if ( code === 27 && ! player . fullscreen . usingNative && player . fullscreen . active ) {
169- player . fullscreen . toggle ( ) ;
176+ this . proxy ( event , ( ) => player . fullscreen . toggle ( ) , 'fullscreen' )
170177 }
171178
172179 // Store last code for next cycle
0 commit comments