質問: アイドル状態のときにxorgでマウス(タッチパッドではありません!)を無効にします 私は熱心なキーボードユーザーですが、それでも時々マウスが必要です。手の移動を最小限にするために、マウスをキーボードの下に配置しています。 (ちなみに、このようにマウスを使用すると、私の手にとってより自然に感じます。)現在、マウスを使用していないときにポインタを非表示にするために nclutter を使用しています。残念ながら、入力中に時々それを微調整しているため、ポインタが再び表示されます。これにより、ポインタが別のウィンドウに移動し、現在のウィンドウからフォーカスが外れることがあります。 (私はずさんなフォーカスを使用しており、これを変更することはオプションではありません。)現在、一定のアイドル時間の後にポインターを非表示にするだけでなく、マウスを完全に無効にする可能性を探しています。マウスボタンをクリックするか、マウスホイールを使用すると、マウスが再び有効になります。
回答: 最初に実行する必要があるのは、マウスをオフにすることですが、xでのみです。これには、xinputを使用できます。コンピューターに(xサーバーに)接続されている入力デバイスを検出する必要があります。pbm@tauri ~ $ xinput list ⎡ virtual core pointer id=2 [master pointer (3)] ⎜ ↳ virtual core xtest pointer id=4 [slave pointer (2)] ⎜ ↳ a4tech usb mouse id=10 [slave pointer (2)] ⎜ ↳ macintosh mouse button emulation id=11 [slave pointer (2)] ⎣ virtual core keyboard id=3 [master keyboard (2)] [...] 使用する必要のあるデバイスは、a4tech usb mouseとid=10です。次に、そのデバイスのプロパティを確認する必要があります。pbm@tauri ~ $ xinput list-props "a4tech usb mouse" device 'a4tech usb mouse': device enabled (121): 1 [....] デバイスをオフにするには、プロパティdevice enabledを変更する必要があります。xinput set-prop dev prop state xinput set-prop "a4tech usb mouse" "device enabled" 0 スイッチを入れるには:xinput set-prop "a4tech usb mouse" "device enabled" 1 次のことはそれを自動的に行うことです...;)この例では、キーボードショートカットでマウスを無効にし、マウスの左+右ボタンを押して有効にします。このために actkbd -xサーバーの外部で動作するキーボードショートカットデーモン(だけでなく)を使用できます。まず、actkbdの空の構成ファイルtouch /etc/actkbd.confを作成する必要があります。次のことは、コンピューターに接続されているデバイスを見つけることです。pbm@tauri ~ $ cat /proc/bus/input/devices i: bus=0003 vendor=046d product=c312 version=0110 n: name="btc usb multimedia keyboard" p: phys=usb-0000:00:1d.0-1.6/input0 s: sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.6/2-1.6:1.0/input/input6 u: uniq= h: handlers=kbd event3 b: ev=120013 b: key=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe b: msc=10 b: led=7 i: bus=0003 vendor=09da product=000a version=0110 n: name="a4tech usb mouse" p: phys=usb-0000:00:1d.0-1.5/input0 s: sysfs=/devices/pci0000:00/0000:00:1d.0/usb2/2-1/2-1.5/2-1.5:1.0/input/input8 u: uniq= h: handlers=mouse1 event5 b: ev=17 b: key=ff0000 0 0 0 0 b: rel=343 b: msc=10 [...] この部分で使用するのが最も興味深いのは、キーボードとマウスのデバイスの名前とハンドラーです。まず、キーボードショートカットでマウスをオフにする処理を行うため、キーidを検出する必要があります。pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event3 keys: 29+41+42 //we need to press keys that will turn off mouse, 29+41+42 is ctrl + shift + ` キーidがわかったら、それらを構成ファイル(/etc/actkbd.conf)に配置する必要があります。29+41+42:::sudo -u pbm display=:0 xinput set-prop "a4tech usb mouse" "device enabled" 0 テストするには、デーモンモードでactkbdを実行する必要があります。pbm@tauri ~ $ sudo actkbd -d /dev/input/event3 -d 同様に、「ターンオン」イベントを処理する必要があります。 マウスデバイスのハンドラーを確認する actkbdを使用してマウスの左+右ボタンのキーコードを確認します actkbd.confに入れてください actkbdデーモンを実行して、マウス入力デバイスを監視します 実行中のデーモンは、環境内のinitスクリプトまたはautorunスクリプトとして実現できます。マウスを自動的にオフにするには、入力デバイス(cat /dev/input/event5)を監視し、入力がない場合はオフにします...私の短いイントロがあなたのお役に立てば幸いです...;)