ジョイスティックを使用するゲームをプレイしているときでも、ジョイスティックはマウスとして機能するため、ランダムなマウスイベントが発生します。
Spiral Knightsをプレイするためにジョイスティックを接続し、ジョイスティックとjcalibrateもインストールしました。デフォルトでは、ジョイスティックがマウスを動かし、ボタンがマウスキーをアクティブにすることを除いて、すべて正常に機能しています。
今では通常、Myth-boxなどにいる場合はこれが良い動作になりますが、残念ながらジョイスティック入力でスパイラルナイトをプレイすると、マウスカーソルがバックグラウンドで動き、ボタンを押すと押していると思います右クリックして、すべてを最小化します。また、フォルダを作成し、おそらくものを削除します。
それで、基本的にマウスとして動作するのを止めるにはどうすればいいですか?
xserver-xorg-input-joystick
をアンインストールします。
これは、ジョイスティックでマウスを制御するためのパッケージです。私はそれをテストするために一度だけインストールし、それが私を怒らせていたので、多分それが問題です。ジョイスティックはそれなしでも同じように機能すると思います。
このコードをファイルに入れます:
#!/bin/bash
id=`xinput list | grep "↳ DragonRise Inc. Generic USB Joystick id=" | cut -c58-59`
props_mouse=`xinput list-props $id | grep "Generate Mouse Events (" | cut -c25-27`
props_teclado=`xinput list-props $id | grep "Generate Key Events (" | cut -c23-25`
xinput set-prop $id $props_mouse 0
xinput set-prop $id $props_teclado 0
それを保存し、権利で右ボタンをクリックし、「このファイルをプログラムとしてマークする」にチェックマークを付けます
それを実行すると、ジョイスティックが「再びジョイスティックとして」使用されます(そして、最良の方法は、最後の2行の「0」を「1」で変更すると、再びジョイスティックをマウスとして使用できるようになります)。
私は同じ問題を抱えていましたが、PlayStation 3コントローラーを使用していました。回答をテンプレートとして使用して、ソリューションを拡張しました。
#!/bin/bash
id=`xinput list | grep -P "PlayStation.*pointer" | grep -oP "id=\d+" | grep -oP "\d+"`
props=`xinput list-props $id`
# echo "$props"
props_mouse=(`echo "$props" | grep "Generate Mouse Events" | grep -oP "\d+"`)
props_keyboard=(`echo "$props" | grep "Generate Key Events" | grep -oP "\d+"`)
xinput set-prop $id ${props_mouse[0]} $[1-${props_mouse[1]}]
xinput set-prop $id ${props_keyboard[0]} $[1-${props_mouse[1]}]
このバージョンのスクリプトは、トグルなど、現在の設定に応じてコントローラーを有効または無効にします。
Qjoypad または(QTを使用したくない場合)あまり機能のない rejoystick (GTK)を試してください。このように、xorg.confを編集/作成する必要はありません。
両方とも playdeb で利用可能です
ジョイスティックドライバーを理解することは一種の混乱であり、すべてが時代遅れまたは未完成のようです...
Linux Mint 17.3を使用していますが、これと同じ問題が発生していました。稼働中のコンソールを持っていて、コントローラーを捨てようとしていました。うまくいくとは知りませんでしたが、Bluetoothで簡単に接続できました。左のジョイスティックはマウスを制御していたので、さまざまな方法を検索して試してみましたが、どれも機能しませんでした。他の人を助けることができるように、これを投稿しています。 Ubuntu Sixaxis セットアップページから修正を行いました。この構成をxorg.confファイルに追加する必要がありました。
Section "InputClass"
Identifier "joystick catchall"
MatchIsJoystick "on"
MatchDevicePath "/dev/input/event*"
Driver "joystick"
Option "StartKeysEnabled" "False" #Disable mouse
Option "StartMouseEnabled" "False" #support
EndSection
ログアウト後も完全に機能します。唯一の問題は、xorg.confが新しいグラフィックドライバーをインストールした後に更新された場合、失われることです。ファイル内の構成を確認するスクリプトを作成する方法を誰かが説明できますか?高度に感謝します。
おそらくjscalを使用してジョイスティックを調整する必要があります- manual page に従って-uオプションを使用して、マウスボタンを使用しないようにジョイスティックを設定できます。
buntuforums にもさまざまなジョイスティックとゲームパッドに関する興味深いものがあります。
マティアス・パルミジャーニの答えが私の鍵でした。ただし、少なくともUbuntu 13.04 LTSでは、xinput list
の形式が変更されています...
⎜ ↳ DragonRise Inc. Generic USB Joystick id=12 [slave pointer (2)]
↳ DragonRise Inc. Generic USB Joystick (keys) id=11 [slave keyboard (3)]
その結果、無効化スクリプトで次を使用する必要がありました。
#!/bin/bash
id=`xinput list | grep -P "DragonRise Inc. Generic USB Joystick\s+id=" | grep -oP "id=\d+"| cut -c4-5`
props_mouse=`xinput list-props $id | grep "Generate Mouse Events" | grep -oP "\(\d+"| cut -c2-5`
props_teclado=`xinput list-props $id | grep "Generate Key Events" | grep -oP "\(\d+"| cut -c2-5`
xinput set-prop "$id" "$props_mouse" 0
xinput set-prop "$id" "$props_teclado" 0
お役に立てれば!
1-最初にジョイスティックの番号が表示されます...ターミナルを実行してxinpute listと入力し、ジョイスティックの番号を確認して、下の例の10の代わりにその番号を置き換えます。
#!/bin/bash id=xinput list | grep "↳ DragonRise Inc. Generic USB Joystick id=10" | cut -c58-59 props_mouse=xinput list-props 10 | grep "Generate Mouse Events (" | cut -c25-27 props_teclado=xinput list-props 10 | grep "Generate Key Events (" | cut -c23-25 xinput set-prop 10 $props_mouse 0 xinput set-prop 10 $props_teclado 0
2-新しいドキュメントを作成し、その中にコードを挿入し、名前をname.shに変更します。形式3-ターミナルを実行し、ファイルを保存するパスを入力します。
例:cd Desktop(デスクトップに保存したため)
4- bash name.shと入力します(Enterをクリックすると完了です!)
注1:最後の2行の0を1に変更するだけで再び有効になります注2:これが機能しない場合は、xserver-xorg-input-joystickと/usr/lib/X11/xorg.conf.dを必ず削除してください。/10-ジョイスティック