キーボードとマウスを1つの仮想入力デバイスに組み合わせることはできますか?

キーボードとマウスを1つの仮想入力デバイスに組み合わせることはできますか?

一部のアプリは奇妙なユーザーや不快なユーザー対話を使用しているため、編集できません。キーボードとマウスイベントの組み合わせを別のキーボードとマウスイベントの組み合わせに再マップしたいと思います。

ctrl正確には、指定されたアプリケーション(DaVinci Resolve)にフォーカスがあるときにこれらのマッピング+ wheel up - > alt+を有効にしたいと思います。wheel up

持つホイールこれを解決するユーティリティです。しかし、そのユーティリティは非常に古く、X11に限定されているので、Waylandソリューションを探しています。ちなみに、現在のユースケースではこれを許可しますが(davinciの解析は現在Xwaylandを介してのみ実行されるため)、うまく機能しません。場合によっては、一部のイベントが「変換」されないため、望ましくない効果が発生することがあります。新しいWaylandサポートユーティリティにはこのような問題がないことを願っています。

とても見つけました。エマルジョンしかし、2匹のラットには明確な答えはありませんでした。

ユーティリティが見つかりました(evdevremapkeysのPronobisフォークまたはエベリトゥ)はN:Nマッピングを許可するので、これを行うことができます。ただし、それらのプロファイルは(少なくともこの記事を書くときは)1つのデバイスのみを使用します。ここ

これで、キーボードとマウスで仮想evdev入力デバイスを作成(つまりマージ)し、ユーティリティを設定するためのアイデアが得られました。可能ですか?

私はこれが可能かもしれないという強い感じを持っていますPython-evdevまたは効果的な。しかし、このような仮想入力デバイスを作成するには、正確に何をすべきかわかりません。

ベストアンサー1

次のコマンドを使用してマージされたデバイスを正常に作成しました。文書):

$ evsieve --input /dev/input/event8 grab --input /dev/input/event5 grab --output

/dev/input/event8私のキーボードはどこにあり、/dev/input/event5マウスはどこにありますか?/dev/input/event3名前で作成されましたEvsieve Virtual Device

ctrl+を+wheelに、+を+に実際に再マップするには、コマンドを次のように変更できます。altwheelaltwheelctrlwheelここ):

sudo evsieve --input /dev/input/event8 grab --input /dev/input/event5 grab \
    --hook   key:leftalt:1 toggle=alt:2 \
    --hook   key:leftalt:0 toggle=alt:1 \
    --hook   key:leftctrl:1 toggle=ctrl:2 \
    --hook   key:leftctrl:0 toggle=ctrl:1 \
    --toggle rel:wheel @alt-up @alt-down id=alt \
    --map    yield rel:wheel@alt-down key:leftalt:0 key:leftctrl:1 key:leftctrl:2 rel:wheel key:leftctrl:0 key:leftalt:1 \
    --toggle rel:wheel @ctrl-up @ctrl-down id=ctrl \
    --map    yield rel:wheel@ctrl-down key:leftctrl:0 key:leftalt:1 key:leftalt:2 rel:wheel key:leftalt:0 key:leftctrl:1 \
    --block  rel:wheel_hi_res \
    --print  @alt-down @alt-up @ctrl-down @ctrl-up \
    --output create-link=/dev/input/by-id/merged-virtual-KM name="merged virtual KM"

evremapを使用するには、次の設定を使用できます。

device_name = "Evsieve Virtual Device"

[[remap]]
input = ["KEY_LEFTALT", "BTN_RIGHT"]
output = ["KEY_PAGEUP"]

Alt+右クリックしてカーソルを上に移動してPgUpを作成します。しかし、マッピングされたホイールイベントは不可能。

おすすめ記事