Unified · Split
| @@ -246,10 +246,10 @@ mp.get_osd_margins = function get_osd_margins() { · 245 unmodified lines | ||
| 246 | 246 | // {cb: fn, forced: bool, maybe input: str, repeatable: bool, complex: bool} |
| 247 | 247 | var binds = new_cache(); |
| 248 | 248 | |
| 249 | −function dispatch_key_binding(name, state, key_name, key_text) { | |
| 249 | +function dispatch_key_binding(name, state, key_name, key_text, scale) { | |
| 250 | 250 | var cb = binds[name] ? binds[name].cb : false; |
| 251 | 251 | 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); | |
| 253 | 253 | } |
| 254 | 254 | |
| 255 | 255 | 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 | ||
| 307 | 307 | fn({event: "press", is_mouse: false}); |
| 308 | 308 | }); |
| 309 | 309 | 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) { | |
| 311 | 311 | fn({ |
| 312 | 312 | event: KEY_STATES[state[0]] || "unknown", |
| 313 | 313 | is_mouse: state[1] == "m", |
| 314 | 314 | canceled: state[2] == "c", |
| 315 | 315 | key_name: key_name || undefined, |
| 316 | − key_text: key_text || undefined | |
| 316 | + key_text: key_text || undefined, | |
| 317 | + scale: scale ? parseFloat(scale) : 1.0 | |
| 317 | 318 | }); |
| 318 | 319 | } |
| 319 | 320 | } else { |
| @@ -331,8 +332,9 @@ function add_binding(forced, key, name, fn, opts) { · 11 unmodified lines | ||
| 331 | 332 | } |
| 332 | 333 | } |
| 333 | 334 | |
| 335 | + var prefix = key_data.scalable ? "" : " nonscalable"; | |
| 334 | 336 | 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; | |
| 336 | 338 | binds[name] = key_data; // used by user and/or our (key) script-binding |
| 337 | 339 | sched_bindings_flush(); |
| 338 | 340 | } |