@@ -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