greasemonkeyでキー入力をもらう
前にキー入力の取り方が微妙なんじゃないかとか書いた*1けど。最近、Fast look up JP and ENのソースをじーっと見てたら、意外と普通にやってる気もしたのでメモ。この辺はブラウザ依存が激しいし、キー入力の辺りだけ取り出したりしてるので、この方法でいいのかは不明だけど、まあ面倒な事は考えないで色々試してみた。
適当に試してみたもの。いつも直ぐキーコード忘れるので、ついでに調べるよう
Alt+kでキーコードテスト
// ==UserScript== // @name key_test // @namespace himadatanode // @include * // ==/UserScript== //keycodeを調べる用 function keyCode(evt){ var keyc = "keyCode:" + evt.keyCode; var alt = " alt:" + evt.altKey; var ctrl = " Ctrl:" + evt.ctrlKey; if(evt.keyCode != 18 && evt.keyCode != 17 && evt.keyCode != 16){ alert(keyc + alt + ctrl); } return false; } // alt:18 ctrl:17 shift:16 document.addEventListener("keydown",toggleTest,true); //キー調べるのをtoggleさせるよう var keytestflag = false; function toggleTest(evt){ if(evt.keyCode == 75 && evt.ctrlKey == false && evt.altKey == true){ if(keytestflag == false){ keytestflag = true; document.addEventListener("keydown",keyCode,false);} else { keytestflag = false; document.removeEventListener("keydown",keyCode,false);} } }
後、こことかが参考になりそう
http://jsajax.com/Articles.aspx?aid=393