History

defaults.js: support scalable mp.add_key_binding()

nanahi committed 2 years ago

Commit 5fd4bfb1 parent e3e22de1 file · +7 −5Browse files

Unified · Split

player/javascript/defaults.js+7−5
@@ -246,10 +246,10 @@ mp.get_osd_margins = function get_osd_margins() { · 245 unmodified lines
246246 // {cb: fn, forced: bool, maybe input: str, repeatable: bool, complex: bool}
247247 var binds = new_cache();
248248
249−function dispatch_key_binding(name, state, key_name, key_text) {
249+function dispatch_key_binding(name, state, key_name, key_text, scale) {
250250 var cb = binds[name] ? binds[name].cb : false;
251251 if (cb) // "script-binding [<script_name>/]<name>" command was invoked
252− cb(state, key_name, key_text);
252+ cb(state, key_name, key_text, scale);
253253 }
254254
255255 var binds_tid = 0; // flush timer id. actual id's are always true-thy
@@ -307,13 +307,14 @@ function add_binding(forced, key, name, fn, opts) { · 51 unmodified lines
307307 fn({event: "press", is_mouse: false});
308308 });
309309 var KEY_STATES = { u: "up", d: "down", r: "repeat", p: "press" };
310− key_data.cb = function key_cb(state, key_name, key_text) {
310+ key_data.cb = function key_cb(state, key_name, key_text, scale) {
311311 fn({
312312 event: KEY_STATES[state[0]] || "unknown",
313313 is_mouse: state[1] == "m",
314314 canceled: state[2] == "c",
315315 key_name: key_name || undefined,
316− key_text: key_text || undefined
316+ key_text: key_text || undefined,
317+ scale: scale ? parseFloat(scale) : 1.0
317318 });
318319 }
319320 } else {
@@ -331,8 +332,9 @@ function add_binding(forced, key, name, fn, opts) { · 11 unmodified lines
331332 }
332333 }
333334
335+ var prefix = key_data.scalable ? "" : " nonscalable";
334336 if (key)
335− key_data.input = key + " script-binding " + mp.script_name + "/" + name;
337+ key_data.input = key + prefix + " script-binding " + mp.script_name + "/" + name;
336338 binds[name] = key_data; // used by user and/or our (key) script-binding
337339 sched_bindings_flush();
338340 }

Keyboard shortcuts

General

Show keyboard shortcuts
?
Focus the current search
/

Issues and pull requests

Open filters
f

Issues, pull requests and Inbox

Select next item
j↓
Select previous item
k↑
Open selected item
Enter
Dismiss filters or clear selection
Esc

Repository code

Go to file
t