2017-07-11 8 views
1

私はdigispark arduino互換デバイスを使用してUSレイアウトのキーボードをエミュレートしています(ライブラリとしてDigiKeyboard.hを使用しています)。 今は、キーを表す整数を入力として受け取り、USBキーボードの標準に従ってコンピュータに送信します。Pythonでキーボードレイアウトを翻訳する

問題は、私はこのデバイスがすべてのキーボードレイアウトで動作する必要があるということです。私の質問は、文字を表す数値を他のレイアウトの同じ文字を表す数値に "変換"する方法があるかどうかです。 Pythonを使用して?明らかに、私はコンピュータ上のソフトウェアを介してレイアウトを変更することはできません。

例:米国のレイアウトでは、文字「x」は数字1で表されます.ESレイアウトでは、文字「x」は数字2で表されます。数値を与えたhypothetic関数が必要です1つの意思出力数2

EDITは:適切な解決策を見つけることができなかった、いくつかの研究を持っていた、まだhak5チームはあなたがでgithub

+0

この[質問](https://stackoverflow.com/questions/292095/polling-the-keyboard-detect-a-keypress-in-python)を見てください。 –

答えて

0

に便利なファイルを見つけることができ、ゴム製のアヒルのための同様のものを開発しました。ショート:できません。

ライブラリがそれをサポートしていない、私はもう少し詳しく説明しましょう:

私は、「ルックアップテーブル」を生成してきた私はどのキーをチェックすることができ(質問で述べたhak5ファイルを使用して)与えられたレイアウトの与えられた文字を表現するために使用する修飾子(実際にはかなり良いソフトウェアの部分です));図書館が "シフト"修飾語だけをサポートしていたことがわかりました(他のレイアウトではalt-grが必要です)。 "キーストローク"は、次のようにコード化されています。文字のASCIIコードを表すのに7ビットが使用されます(米国キーボードの7ビットASCII文字のみをサポートします)。最上位ビットは、修飾子は使用されません。

TL; DigiKeyboardは修飾語を1つしかサポートしていないため、米国のレイアウト(または同様のもの)にのみ適しています。

ここでこのtoolを使用するには、hak5チームが書いたツールを使用して、ゴム状のダッキースクリプトをdigisparkで翻訳してください。

関連する問題