diff --git a/intranet/static/scripts/crans.js b/intranet/static/scripts/crans.js index 5f692924..63133097 100644 --- a/intranet/static/scripts/crans.js +++ b/intranet/static/scripts/crans.js @@ -3,6 +3,7 @@ ************************************************************ * Crans.messages : afficher des messages sur les pages * Crans.loading : afficher l'indicateur de chargement + * Crans.keys : gestion des touches du clavier */ Crans = {}; @@ -79,3 +80,46 @@ Crans.loading.display = function(bool) { } return false; } + +/***************************** + Crans.keys + *****************************/ +Crans.keys = {} +Crans.keys.handled = false; + + +Crans.keys.handleF1 = function() +{ + createLoggingPane(true); +}; + +Crans.keys.keyMap = +{ + 'KEY_F1': Crans.keys.handleF1 +// , 'KEY_ESCAPE':alert +}; + + +connect(document, 'onkeydown', + function(e) + { + // We're storing a handled flag to work around a Safari bug: + if (true)//(!Crans.keys.handled) + { + + var key = e.key(); + var fn = Crans.keys.keyMap[key.string]; + if (fn) + { + fn(); + } + + //replaceChildNodes('onkeydown_code', key.code); + //replaceChildNodes('onkeydown_string', key.string); + //KeyEvents.updateModifiers(e); + } + + Crans.keys.handled = true; + } + ); +