AutoHotkey スレッド part8

このエントリーをはてなブックマークに追加
443名無しさん@お腹いっぱい。
>>441 >>442
>もしかして、ノートPCのFnキーや、多ボタンマウスのチルト傾斜とかも
>専用ドライバ無しでHIDの標準ドライバ経由で直取りできるってこと?

うん、多分できるんではないかと思う。
でも、俺は超初心者なので、自分がやりたいことがトライ&エラーと勘で、
たまたま実現できちゃっただけなのでw、本当にできるかどうかよくわかってないっすwww
できなかったらごめんwでもつかっているDLLはそんな系統のもののようなのでできるんじゃないかと。





とりあえず、>>432に書かれている通りに、これをダウンロードして解凍
http://www.autohotkey.net/%7EMicha/HIDsupport/AutohotkeyRemoteControl.rar

それから、>>432のページからはリンク切れだけど、
違うサイトから探してきた、これもダウンロード(FnMapper.ahk)
http://uawks.googlecode.com/issues/attachment?aid=5614292902990076938&name=FnMapper.ahk
ダウンロードしたら、上で解凍したフォルダの中に移動する(DLLと同じディレクトリに)

AutoHotkeyRemoteControlDLL.ahkをダブルクリックして起動させ、
ウィンドウ上に出てきたUSBデバイス一覧の中から、「1.HID」あたりを適当に選択
まず、「Register」ボタンをクリックしてから、これからホットキー登録したいデバイス(キーボードなど)の、
Windowsでは認識しないキーやFnキー、Fnキーコンビネーションなどを押す。
ウィンドウ下の欄に表示される数字などが、変化すればOK.
変化したら、Usage欄とUsagePage欄の数値をメモる。
変化しないなら、ウィンドウ上から別のものを選択してやりなおし。終わったら終了する。
444名無しさん@お腹いっぱい。:2009/07/16(木) 01:32:55 ID:hU26z2kV0
次に、FnMapper.ahkを編集する。

まず、EditUsage := 1 EditUsagePage := 12という部分を探して、
それぞれの数値を、さっき調査したUsageとUsagePageの数値に書き換える。
俺はそのまま変更しないでOKだった。

次に、 ;MsgBox, Keystatus: %KeyStatus%という行があるけど、
行頭のセミコロンを消す(コメントアウト状態じゃなくする)

以上が終わったら、FnMapper.ahkをダブルクリックで起動する。
何もダイアログが出てない状態で、
これからホットキー登録したいキーやFnキーコンビネーションを押して、
MsgBoxに出た数値と押したキーとの対応をメモる。
必要なキーの数だけ、どんどんメモる。

あとは、;MsgBox, Keystatus: %KeyStatus%の行頭に
またセミコロンをつけて再度コメントアウトして、
それから、
Transform, EjectValue, BitAnd, 8, KeyStatusの直後ぐらいに、
Keystatusに関して判定するif文を書き、該当キーの処理を書く。

たとえば俺の場合、Windowsで認識しないEjectキーを押した場合に
さきほどMsgBoxに表示された数字が64だったので

if Keystatus = 64
{
MsgBox,EjectKey Pressed!!!
}

を挿入したら、Windowsではキーコードすら吐かないイジェクトキーを押したときに
EjectKey Pressed!!!と表示できた。
他にも、スクリプトの中の必要なさそうなところはコメントアウトしたりした。