// ==UserScript== // @name displayInputKeys // @namespace http://efcl.info/ // @description 押したキーを表示するだけ // @author azu // @homepage http://efcl.info/ // @twitter https://twitter.com/azu_re // ==/UserScript== /*ウィンドウの枠はisPopupWindow:true,hasBorder:false,hasTickFrame:false,で消せます*/ with(require('Window')){ var w = Window.create({ top : 50, left :50, width :120, height:50, hasBorder:false, children:{ edit:{ noHideSel:true, type:Static, text:"ショートカットキー", wantReturn:true, }, }, }).show(); } // println(w.className) var displayKey = w.child("Static"); with(require('Keyboard')){ var modify = { Ctrl: false, Shift: false, Alt : false, }; Keyboard.observe('down',function(e){ // displayKey.text = ' / Name: '+obj.key.name; var ckey = e.key.name; var res = []; if(ckey == "Shift") modify.Shift = true; if(ckey == "Ctrl") modify.Ctrl = true; if(ckey == "Alt") modify.Alt = true; for(var t in modify){ if(modify[t]) res.push(t); } if(ckey !== "Ctrl" && ckey !== "Shift" && ckey !== "Alt"){ displayKey.text = (res.length>0) ? res.join("+") +"-"+ ckey : ckey; }else{ displayKey.text = ""; } }), Keyboard.observe('up',function(e){ var ckey = e.key.name; if(ckey == "Shift" || ckey == "Ctrl" || ckey == "Alt"){ modify = { Ctrl: false, Shift: false, Alt : false, } } }); }