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