Skip to content

Commit 647daf4

Browse files
committed
Fixed keyboard shortcuts not triggering early-listeners
1 parent df61e5c commit 647daf4

File tree

1 file changed

+18
-11
lines changed

1 file changed

+18
-11
lines changed

src/js/listeners.js

Lines changed: 18 additions & 11 deletions
Original file line numberDiff line numberDiff line change
@@ -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

Comments
 (0)