2

キーボードレイアウトの変更などのユーザー入力を再マッピングするプログラムを作成したいのですが、速記プログラムの作成などのより複雑なものも作成したいと思います(つまり、「t qk fx jmps ovr tlzydg」は「クイックフォックスが飛び越えて怠惰な犬」)。Xレベル以下でこれを実行したいと思います。

実際のユーザー出力に基づいて、ある種の仮想キーボードを作成できますか?理想的には、ある種の単純なインターフェイスが必要です(つまり、プログラムへの標準入力は一連の実際のユーザー入力イベントであり、出力は仮想キーボードのユーザー入力イベントです)が、それが不可能な場合でも、私は興味があります。これを行う方法へのポインタ。現在、Linuxハードウェアデバイス、低レベルXのもの、またはカーネルについては何も知りません。実際、私はLinuxにかなり慣れていません。「基本」チュートリアルへのリンクは評価されないことはありません。

4

1 に答える 1

2

Linuxイベントサブシステムを使用して、これを行うことができます。

  • Linux入力イベントインターフェイス(evdev)を使用して、任意の入力デバイスからイベントを受信します。実際のAPIの詳細については、input.hヘッダーファイルも参照してください。

  • EVIOCGRAB ioctlを使用してキーボードデバイスを取得し、デーモン以外の他のユーザースペースアプリケーションが入力イベントを受信しないようにします。

  • uinputインターフェイスを使用して、必要な機能を備えた新しい仮想キーボードを作成します。APIの詳細についてはuinput.hヘッダーファイルを、読みやすいウォークスルーについてはこれも参照してください。uinput

EvRouterESE Key Daemon、私自身のevmapdなど、例として役立つ可能性のあるアプリケーションがいくつかあります 。

于 2011-04-27T01:10:02.693 に答える