(垂直)スクロールホイールを使用してを押すと、水平スクロールをエミュレートしたいShift。
一部のアプリケーション(Chrom {e、ium})では既に機能していますが、Xアプリケーション用の汎用ソリューションを探しています。
私がこれまでのところ最も近いのはxbindkeys
+ xdotool
です。
# ~/.xbindkeysrc
"xdotool click 6"
shift + b:4
"xdotool click 7"
shift + b:5
問題は、xbindkeys
いくつかのイベントを見逃しているように見えることであり、時折垂直スクロールが「通過」します。これは非常に迷惑です。xbindkeys
何らかのポーリングを使用しているように見えますか?
また、1秒あたり数百のシェルコマンドを生成するのも好きではありません。
小さな画面が表示され、水平方向に多くスクロールする必要があります。
一般的な水平スクロールを実現するにはどうすればよいですか?
更新:
xbindkeys
と私が望むものを主に行う別の方法がありxmodmap
ます。
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'"
c:50
"xmodmap -e 'pointer = default'"
release + shift + c:50
をShift押したままにすると、ポインタボタン4と5は6と7にマッピングされます(ボタン4/5は前の垂直スクロール、6/7は水平スクロール)。c:50
左のShiftキーです。キーを離すと、デフォルトのポインターマッピングが復元されます。
これにより、「多すぎるイベント」の問題がうまく解決されます。ただし、Shiftキーは通常の修飾子として機能しなくなりました。次のようなShiftプレス/リリースイベントを再発行しようとしましたxdotool
。
"xmodmap -e 'pointer = 1 2 3 6 7 4 5 8 9 10'; xdotool keydown Shift_L"
c:50
"xmodmap -e 'pointer = default'; xdotool keyup Shift_L"
release + shift + c:50
通り抜けるイベントによるとxev
、Shiftもう修飾子として認識されないと思う。たとえば、Shift+ Aを押しても大文字は生成されませんA
。