notebook/app/assets/javascripts/keyboardControlDefault.js
2019-08-29 18:15:48 -05:00

77 lines
2.2 KiB
JavaScript

/**
* Mapping of the keyboard controls to functions.
*
* If you'd like to add any new keyboard controls, this is the place to do it.'
*/
function keycode_for(letter) {
// Pretty sure this only works for alphanumeric (e.g. ? is incorrect)
// Since ? is the only symbol we're using now lets uh not talk about this
if (letter == '?') {
return 191;
}
return letter.toUpperCase().charCodeAt(0);
}
function add_redirect_shortcut(key_after_N, page_type) {
active_redirect_shortcuts.push({
page: page_type,
key: key_after_N
});
default_keyboard_controls.push(
{
"input" : [
{ key : keycode_for("n"), shiftKey : true, ctrlKey : false },
{ key : keycode_for(key_after_N), shiftKey : false, ctrlKey : false }
],
"result" : function () {
document.location.pathname = '/plan/' + page_type + '/new';
}
}
);
}
var default_keyboard_controls = [
// ? => keyboard control
{
"input" : [
{ key : keycode_for('?'), shiftKey : true, ctrlKey : false }
],
"result" : function () {
$("#keyboard-controls-help-modal").modal('open');
}
}
];
var active_redirect_shortcuts = [];
add_redirect_shortcut("b", "buildings");
add_redirect_shortcut("c", "characters");
add_redirect_shortcut("n", "conditions");
add_redirect_shortcut("u", "countries");
add_redirect_shortcut("r", "creatures");
add_redirect_shortcut("d", "deities");
add_redirect_shortcut("y", "floras");
add_redirect_shortcut("f", "foods");
add_redirect_shortcut("g", "governments");
add_redirect_shortcut("o", "groups");
add_redirect_shortcut("i", "items");
add_redirect_shortcut("j", "jobs");
add_redirect_shortcut("l", "landmarks");
add_redirect_shortcut("a", "languages");
add_redirect_shortcut("t", "locations");
add_redirect_shortcut("m", "magics");
add_redirect_shortcut("p", "planets");
add_redirect_shortcut("r", "races");
add_redirect_shortcut("x", "religions");
add_redirect_shortcut("s", "scenes");
add_redirect_shortcut("h", "schools");
add_redirect_shortcut("z", "sports");
add_redirect_shortcut("h", "technologies");
add_redirect_shortcut("w", "towns");
add_redirect_shortcut("m", "traditions");
add_redirect_shortcut("u", "universes");
add_redirect_shortcut("v", "vehicles");