Skip to content

Commit

Permalink
defaults.js: support custom arg in mp.add_key_binding()
Browse files Browse the repository at this point in the history
  • Loading branch information
na-na-hi committed Nov 18, 2024
1 parent 6d880a6 commit 947b7a5
Showing 1 changed file with 5 additions and 4 deletions.
9 changes: 5 additions & 4 deletions player/javascript/defaults.js
Original file line number Diff line number Diff line change
Expand Up @@ -246,10 +246,10 @@ mp.get_osd_margins = function get_osd_margins() {
// {cb: fn, forced: bool, maybe input: str, repeatable: bool, complex: bool}
var binds = new_cache();

function dispatch_key_binding(name, state, key_name, key_text, scale) {
function dispatch_key_binding(name, state, key_name, key_text, scale, arg) {
var cb = binds[name] ? binds[name].cb : false;
if (cb) // "script-binding [<script_name>/]<name>" command was invoked
cb(state, key_name, key_text, scale);
cb(state, key_name, key_text, scale, arg);
}

var binds_tid = 0; // flush timer id. actual id's are always true-thy
Expand Down Expand Up @@ -307,14 +307,15 @@ function add_binding(forced, key, name, fn, opts) {
fn({event: "press", is_mouse: false});
});
var KEY_STATES = { u: "up", d: "down", r: "repeat", p: "press" };
key_data.cb = function key_cb(state, key_name, key_text, scale) {
key_data.cb = function key_cb(state, key_name, key_text, scale, arg) {
fn({
event: KEY_STATES[state[0]] || "unknown",
is_mouse: state[1] == "m",
canceled: state[2] == "c",
key_name: key_name || undefined,
key_text: key_text || undefined,
scale: scale ? parseFloat(scale) : 1.0
scale: scale ? parseFloat(scale) : 1.0,
arg: arg,
});
}
} else {
Expand Down

0 comments on commit 947b7a5

Please sign in to comment.