2008-02-07

アクションボタンのキーコード

ついさっきまで作りかけのプログラムでアクションボタンの押下を判定できずに悩んでいました。
case WM_KEYDOWN:
    switch (wParam) {
        case VK_ACTION:
            // アクションキーが押された
            //
 
しばらく悩んでいたのですが、リモートスパイでメッセージを見てあっさり解決。
アクションボタンは VK_ACTION(0x86)ではなく VK_PROCESSKEY(0xE5)でした。
case WM_KEYDOWN:
    switch (wParam) {
        case VK_PROCESSKEY:
        case VK_TACTION:
            // アクションキーが押された
            //
 
Todayプラグインのときは WM_TODAYCUSTOM_ACTIONメッセージだったので、コード補完で表示された VK_ACTIONに何の疑いも持っていませんでした。
便利すぎる道具は人間をサルにしてしまいますね。
 
(2/8 追記)
実は VK_PROCESSKEYも間違いで VK_TACTION(0x0D)が正解でした。

 

5 件のコメント:

匿名 さんのコメント...

Advanced/W-ZERO3[es]で試してみましたが、アクションもEnterも効きませんでした。
ソースを読んだところVK_PROCESSKEY(0xe5)を押さないといけないようですが、アクションもEnterも0xe5は出力しないので、どうやっても動かない事になります。
SortInchKeyでWifiPowerModeのみアクションのキーコードを0xe5にしたところ、正常に動くようになりました。

匿名 さんのコメント...

書く場所を間違えましたが、WifiPowerModeの事です。

kazuaki さんのコメント...

こんばんは。
ご連絡ありがとうございます。

うちの環境では VK_PROCESSKEYで動いてしまったのですが、確かにエミュレータだと動きませんね...。

どうやら VK_RETURN(0x0D)が正解のようなのでプログラムを修正しておきます。

匿名 さんのコメント...

こちらのソフトでCAMを選択して無線LANを起動した際、CAMではなくMax PSPでオンになってしまうのですが仕様でしょうか?
Max PSPはバッテリーが無いときにしか使わないので、一発でCAMでオンになってくれると嬉しいのですが…

kazuaki さんのコメント...

こんばんは。
コメントありがとうございます。

あ、本当ですね。全く気付いていませんでした(笑
修正版をアップしましたのでお試しください。

また何かお気づきの点があれば教えて下さい。