Logitech darkfeildマウス(ガラスで動作するマウス)を使用していますが、現在使用されていないボタン(ズームボタン)の1つを選択したキーボードボタン(コントロールまたは夕食)として機能させるにはどうすればよいですか? .... 13.04も使用しています。..参考までに。
ありがとう
いくつかのデスクトップ環境(DE)とさまざまなウィンドウマネージャー(WM)を組み合わせることで、マウスからの入力でかなりの機能を実現できますが、変更する可能性のある1つのあいまいな設定をカバーできない場合があります。私の場合、すべてのマシンでLogitech M510マウスを使用していますが、「進む」および「戻る」ボタン(親指のボタン)を使用してインターネットをブラウズするのではなく、マウスの中ボタンに使用することを好みます。 。 Blenderで1時間以上モデリングを行うと、中指が痛くなるでしょう。この変更を行うには、「xinput」コマンドを使用してXデバイス自体を構成する必要があります。
まず、使用したいデバイス、この場合はLogitech M510マウスを見つける必要があります。これは、次のようにxinputコマンドを使用して、最初にすべてのXデバイスをリストすることで実行できます。
$ xinput
⎡ Virtual core pointer id=2 [master pointer (3)]
⎜ ↳ Virtual core XTEST pointer id=4 [slave pointer (2)]
⎜ ↳ Microsoft Natural® Ergonomic Keyboard 4000 id=11 [slave pointer (2)]
⎜ ↳ Logitech Unifying Device. Wireless PID:1025 id=12 [slave pointer (2)]
⎜ ↳ SynPS/2 Synaptics TouchPad id=15 [slave pointer (2)]
⎣ Virtual core keyboard id=3 [master keyboard (2)]
↳ Virtual core XTEST keyboard id=5 [slave keyboard (3)]
↳ Power Button id=6 [slave keyboard (3)]
↳ Video Bus id=7 [slave keyboard (3)]
↳ Power Button id=8 [slave keyboard (3)]
↳ Sleep Button id=9 [slave keyboard (3)]
↳ Microsoft Natural® Ergonomic Keyboard 4000 id=10 [slave keyboard (3)]
↳ BisonCam, NB Pro id=13 [slave keyboard (3)]
↳ AT Translated Set 2 keyboard id=14 [slave keyboard (3)]
私のマウスは仮想コアポインターの下にあり、Xデバイスid = 12としてコンピューターに(USB経由で)接続されているポイントに特別な注意を払ってください。必要なわけではありませんが、知っておくといいので、デバイスの詳細が必要な場合は次のようにします(12はXデバイスIDです)。
$ xinput list 12
Logitech Unifying Device. Wireless PID:1025 id=12 [slave pointer (2)]
Reporting 7 classes:
Class originated from: 12. Type: XIButtonClass
Buttons supported: 24
Button labels: "Button Left" "Button Middle" "Button Right" "Button Wheel Up" "Button Wheel Down" "Button Horiz Wheel Left" "Button Horiz Wheel Right" "Button Side" "Button Extra" "Button Forward" "Button Back" "Button Task" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown" "Button Unknown"
Button state:
Class originated from: 12. Type: XIValuatorClass
Detail for Valuator 0:
Label: Rel X
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 12. Type: XIValuatorClass
Detail for Valuator 1:
Label: Rel Y
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 12. Type: XIValuatorClass
Detail for Valuator 2:
Label: Rel Horiz Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 12. Type: XIValuatorClass
Detail for Valuator 3:
Label: Rel Vert Wheel
Range: -1.000000 - -1.000000
Resolution: 1 units/m
Mode: relative
Class originated from: 12. Type: XIScrollClass
Scroll info for Valuator 2
type: 2 (horizontal)
increment: 1.000000
flags: 0x0
Class originated from: 12. Type: XIScrollClass
Scroll info for Valuator 3
type: 1 (vertical)
increment: -1.000000
flags: 0x2 ( preferred )
ボタンの機能を再構成するのは、ボタンマップを変更するだけです。次のように既存のボタンマップを取得します。
$ xinput get-button-map 12 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24
これが現在のボタンマップです。これをボタンの配列と考えてください。各値は、そのインデックスでのボタンの「機能」です。残念ながら、この結論に至った経緯を思い出すことはできませんが、マウスではボタン8、9、10の機能を変更して、ボタン2のように動作させたいと思います。次のように、Xデバイスのボタンマップとして設定し直します。
$ xinput set-button-map 12 1 2 3 4 5 6 7 2 2 2 11 12 13 14 15 16 17 18 19 20 21 22 23 24
これを永続的なソリューションにするために、ログイン時に実行される上記のコマンドを.profileに追加します。ただし、コンピューターに接続されているデバイスによっては、デバイスIDがブートごとに変わる場合があります。これを回避するには、次のようにgrepとawkを使用してデバイスIDを見つけ、それをxinputコマンドに渡します。
MOUSE_ID=`xinput list | grep -i Logitech | awk -F= '{ print $2}' | awk '{print $1}'` `xinput set-button-map $MOUSE_ID 1 2 3 4 5 6 7 2 2 2 11 12 13 14 15 16 17 18 19 20 21 22 23`
上記の行は.profileファイルに追加され、デバイスはxinputリストから動的に配置され、ボタン機能を必要に応じて再マッピングします。ただし、上記の例のLogitechはあいまいであるため(Logitechデバイスは1つしかないため)、xinputコマンドの出力から、grepが一致する特定の情報を入力する必要がある場合があります。