Download List

Project Description

Rhino(java)を使ったServer-side JavaScript(MaachangComet)を開発しています。

System Requirements

System requirement is not defined

Released at 2012-03-26 21:53
javascript hotKey-0.01 (1 files Hide)

Release Notes

* HotKey for Javascript 説明 *

version 0.01 初版.

このJavascriptを、
<script language="javascript" type="text/javascript" charset="utf-8" src="./hotKey-min.js"></script>
こんな感じで、HTMLから呼び出しすることで、各ブラウザ(IE,FireFox,Opera,Safari,Chrome等)に対して、
HotKeyに対する処理を行うことが可能となります。
具体的には、こんな感じで特定のKeyを押した場合に、指定処理を実施することが出来ます。

<script><!--

_hotKeyZ = function( shift,ctrl,event,keyCode ) {
if( sft ) {
alert( "shift + zKey" ) ;
return true ;
}
else if( ctrl ) {
alert( "ctrl + zKey" ) ;
return true ;
}
return false ;
}

--></script>

こんな感じで実装することで、CTRLキー+Zキーを押下した場合に、「ctrl + zKey」がAlertで表示されます。
また、SHIFTキー+Zキーを押下した場合に、「shift + zKey」がAlertで表示されます。

と言うことで、こんな感じで「hotKey-min.js」を呼び出すことで、各キーに対する、Functionが連動して、
処理することが出来ます。

また、上記のような「_hotKeyZ」メソッドのように、各キーに対する予約メソッド条件は、以下のようになります。

// 通常キー0~9
_hotKey0 ・・・0キー.
_hotKey1 ・・・1キー.
_hotKey2 ・・・2キー.
_hotKey3 ・・・3キー.
_hotKey4 ・・・4キー.
_hotKey5 ・・・5キー.
_hotKey6 ・・・6キー.
_hotKey7 ・・・7キー.
_hotKey8 ・・・8キー.
_hotKey9 ・・・9キー.

// A~Z
_hotKeyA ・・・Aキー.
_hotKeyB ・・・Bキー.
_hotKeyC ・・・Cキー.
_hotKeyD ・・・Dキー.
_hotKeyE ・・・Eキー.
_hotKeyF ・・・Fキー.
_hotKeyG ・・・Gキー.
_hotKeyH ・・・Hキー.
_hotKeyI ・・・Iキー.
_hotKeyJ ・・・Jキー.
_hotKeyK ・・・Kキー.
_hotKeyL ・・・Lキー.
_hotKeyM ・・・Mキー.
_hotKeyN ・・・Nキー.
_hotKeyO ・・・Oキー.
_hotKeyP ・・・Pキー.
_hotKeyQ ・・・Qキー.
_hotKeyR ・・・Rキー.
_hotKeyS ・・・Sキー.
_hotKeyT ・・・Tキー.
_hotKeyU ・・・Uキー.
_hotKeyV ・・・Vキー.
_hotKeyW ・・・Wキー.
_hotKeyX ・・・Xキー.
_hotKeyY ・・・Yキー.
_hotKeyZ ・・・Zキー.

_hotKeySF ・・・^キー
_hotKeyEN ・・・¥キー
_hotKeyEN2 ・・・¥(バックスラッシュキー)
_hotKeyAT ・・・ @キー
_hotKeyKAKU_S ・・・ [キー
_hotKeyKAKU_E ・・・ ]キー
_hotKeyCOLON ・・・ :キー
_hotKeySEMICOLON ・・・ ;キー
_hotKeyCOMMA = ・・・ ,キー
_hotKeyDOT = ・・・ .キー
_hotKeySLASH ・・・ /キー
_hotKeyHYPHEN ・・・ -キー
_hotKeyBS ・・・ back-spaceキー
_hotKeyESC ・・・ ESCキー
_hotKeyTAB ・・・ TABキー
_hotKeyENTER ・・・ ENTERキー(通常、テンキー共通)
_hotKeySPACE ・・・ SPACEキー
_hotKeyDELETE ・・・ Deleteキー
_hotKeyPGUP ・・・ PageUpキー
_hotKeyPGDN ・・・ PageDownキー

// 矢印キー.
_hotKeyLEFT ・・・ ←キー
_hotKeyRIGHT ・・・ →キー
_hotKeyUP ・・・ ↑キー
_hotKeyDOWN ・・・ ↓キー

// ファンクションキー.
_hotKeyF1 ・・・ F1
_hotKeyF2 ・・・ F2
_hotKeyF3 ・・・ F3
_hotKeyF4 ・・・ F4
_hotKeyF5 ・・・ F5
_hotKeyF6 ・・・ F6
_hotKeyF7 ・・・ F7
_hotKeyF8 ・・・ F8
_hotKeyF9 ・・・ F9
_hotKeyF10 ・・・ F10
_hotKeyF11 ・・・ F11
_hotKeyF12 ・・・ F12

// テンキー.
_hotKeyT_0 ・・・テンキー0
_hotKeyT_1 ・・・テンキー1
_hotKeyT_2 ・・・テンキー2
_hotKeyT_3 ・・・テンキー3
_hotKeyT_4 ・・・テンキー4
_hotKeyT_5 ・・・テンキー5
_hotKeyT_6 ・・・テンキー6
_hotKeyT_7 ・・・テンキー7
_hotKeyT_8 ・・・テンキー8
_hotKeyT_9 ・・・テンキー9
_hotKeyT_DOT ・・・テンキー.
_hotKeyT_SLASH ・・・テンキー/
_hotKeyT_ASTERISK ・・・テンキー*
_hotKeyT_HYPHEN ・・・テンキー-
_hotKeyT_PLUS ・・・テンキー+

これらメソッドを、再定義し、下記のパラメータと、戻り値の付与で、HotKeyの処理が行えます.

function( shift,ctrl,event,key )

【引数】
shift : シフトKeyが押されている場合は、trueが設定されます.
ctrl : コントロールKeyが押されている場合は、trueが設定されます.
event : KeyDownのイベントが設定されます.
key : 生のキーコードが設定されます.

【戻り値】
true : キー入力の確定を返却します。これによって、キーがおされた条件以降の処理は無視されます。
たとえば、F1キーを押した場合、_hotKeyF1メソッドで処理して、返却結果をtrueで返すことで、
F1キーの効力を無効にすることが出来ます。

false : キー入力を未確定にします。通常処理を確定させない場合は、falseを返却します。


また、_hotKeyFliterと言うメソッドがあります。このメソッドは、オーバーロードしていない各HotKeyメソッド
のフィルター処理を行います。
function( name,shift,ctrl,key )
name には、各キー入力の名前が設定されます.
shift には、シフトKeyが押されている場合は、trueが設定されます.
ctrl には、コントロールKeyが押されている場合は、trueが設定されます.
key には、生のキーコードが設定されます.

戻り値は、_hotKeyメソッド関連の戻り値と同じです。


※ 基本的には、IE,FireFox,Opera,Safari,Chromeに対応していますが、以下の問題点があるので注意です。

私のノートPC(テンキーなし)だけかもしれませんが、FireFox10の場合、セミコロン[;]キーボードを押下した
場合に、キーコード107・・・テンキーのプラスが返却されます。
他には、各_HotKeyメソッドの戻り値をtrueに設定しても、たとえばF1,F3,F5,F6などのキーは、処理が無視される可能性が
あります。Safariの場合は、これらのKeyコード返却が未サポートらしいので。

http://www.programming-magic.com/file/20080205232140/keycode_table.html
のページを参考にして作りました。
これを見ると、各ブラウザのキーコードってのは、何だか結構ばらばらだったり、
ただし、Operaの場合だけ、テンキーと、普通のキーの数値関連とか、同一だったり、特殊キー関連の操作
(¥とか@とかこれらの関連キーが)何故こんなにキーコードがばらばらなんだろうって、思うわけです。
もう少し互換性をもってほしいし、便利になってほしいと思うところです。

終わり

Changelog

No Changelogs