2017-05-03 7 views
0

私はasciiキーを受け取る関数を作成しようとしており、それをバーチャルキーコードに変換します。キーのバーチャルキーコードを取得する方法

例:例えば

from msvcrt import getch 
key= ord(getch()) #getting the ASCII character for a key that was pressed 
def(key): 
    #converting the key to virtual key code 

は:のASCIIコードが41である 私は、関数がそれを受信したキーの仮想キーコードで0x41から、どの戻りたいです。

ありがとうございました!

答えて

1

残念ながら、できません - msvcrt.hをインクルードすると、答えの残りの部分はWindowsシステムを使用しているとみなされます。

ASCIIコードと仮想キーの間には双方向性はありません。例えば、文字「1」(ascii 0x31)は、仮想キーコード0x31または数字キーパッドnum 1仮想キーコードVK_NUMPAD1または0x61によって生成することができます。

あなたができることは、msdnのlist of the virtual key codesの助けを借りて手動で翻訳テーブルを作成し、各ASCIIコードに対してどのキーを取るかを選択することです。

唯一の簡単な規則は、大文字(A〜Z)と数字(数字キーパッドではなく0〜9)の仮想キーコードがASCIIコードと同じであることです。

関連する問題