フォローしようとしています。このガイドロジクールG600を使用してください。私は(Windowsコンピュータを使用して)マウスのすべてのキーの組み合わせを通常のキーボードの特定の組み合わせにマップします。スキャンコードをいくつかの拡張キーコードにマッピングするために、/etc/udev/hwdb.d/にいくつかのルールを設定しました。ここ)。 Xが255より大きいキーコードを認識しないことを除いて、これはすべてうまくいきます。したがって、ライン
KEYBOARD_KEY_7001d=zenkakuhankaku
マウスボタンがキーコード400(showkey経由)を吐き出し、xevがキーをまったく認識しないようにします。
xmodmap -pke | grep "= XF86"
また、利用可能な255個未満のキーコードを表示するために実行しようとしましたが、スキャンコードをそのキーコードにマッピングする方法(KEYBOARD_KEY_7001d=XF86Explorer
キーを「z」にマッピングするなど)がわかりませんでした。
スキャンコードを数値キーコードに直接マッピングする方法はありますか(hwdbファイルから - 文字「a」をXF86Calculatorにエクスポートするすべてをマッピングしたくありません)。
スキャンコードを未使用のXF86コードの1つにマッピングする別の方法はありますか?
答え1
さて、これが私がしたことです。 /usr/include/linux/input.hから実際のキー名を抽出しました。次のようにキーコード名を定義するセクションがあります。
#define KEY_RIGHTMETA 126
#define KEY_COMPOSE 127
#define KEY_STOP 128 /* AC Stop */
#define KEY_AGAIN 129
#define KEY_PROPS 130 /* AC Properties */
私はキー名としてKEY_xxxに小文字のxxx(たとえば「compose」、「stop」など)を使用します。他の場所では実際には使用されないようなものを選択しました(例:KEY_LEFTCTRL)。
その後、リンクされた記事が示すように、xbindkeys -km
適切なキーコード番号を取得し、xbindkeysを使用してそれらをマッピングしました。