ジョイスティックはマウスとして機能します。止まらない


14

ジョイスティックを使用するゲームをプレイしているときでも、ジョイスティックはマウスとして機能するため、ランダムなマウスイベントが発生します。

Spiral Knightsをプレイするためにジョイスティックを接続し、ジョイスティックとjcalibrateもインストールしました。デフォルトでは、ジョイスティックはマウスを動かし、ボタンはマウスキーをアクティブにします。

神話ボックスなどにいる場合、通常はこれが良い動作になりますが、残念ながらジョイスティック入力でスパイラルナイトをプレイすると、マウスカーソルがバックグラウンドで移動し、ボタンを押すと、私が押していると思います右クリックして、すべてを最小化します。また、フォルダを作成し、おそらくものを削除します。

それで、基本的にマウスとして動作するのを止めるにはどうすればいいですか?


使用しているPCと使用しているジョイスティックを表示できますか。また、Ubuntuのバージョン。
ルイスアルバラード

私はプレイステーション2からusbアダプターを使用しています。jscalibrateでは、GreenAsia Inc. USB Joystickとしてリストされています。Ubuntu 10.10を実行しています
-Shazzner

回答:


15

アンインストールしxserver-xorg-input-joystickます。

ジョイスティックでマウスを制御するためのパッケージです。それをテストするために一度だけインストールしましたが、それは私を怒らせていました。ジョイスティックはそれなしでも同じように機能すると思います。


やった!シナプスでジョイスティックパッケージを追加したときに、それが上手くいったと思います。今ではうまくいきます!
シャズナー

私もこの問題を抱えており、それを修正しました。答えてくれてありがとう。
b1ackcrow

この機能をオフ/オンにする方法はありますか?ゲームパッドとマウスをcontroling冷却kinddaが、私がそれを必要ないときにそれを回すために素敵であるべきである
chepe263

ありがとう、これはArch Linuxでも機能しました!Dustforceをプレイしようとしていましたが、これは本当に迷惑でした。
マルコスカンナディナリ

1
参考までに、ログアウトして再度ログインする必要がありました。また、Manjaro linuxでは、パッケージ名はxf86-input-joystickでした。
ピーター

4

このコードをファイルに入れます:

#!/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」で変更すると、再びジョイスティックをマウスとして使用できるようになります)。


「xinput list」行の形式が変更されたようです。
フィーイー

Ubuntu 18.04 LTSで動作するには、このコードを変更する必要があります。出力が変更されました。
ハンスデラゴン

2

私はちょうど同じ問題を抱えていましたが、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]}]

このバージョンのスクリプトは、トグルなど、現在の設定に応じてコントローラーを有効または無効にします。


これはa)別のコントローラーとb)指定されたスクリプトに対して異なる機能を持つ新しいソリューションであるためです。既存の回答を編集するとそれがどのように変わるかわかりません。
hochl

私には十分です!投票して、トップに上がります! ;-)
ファビー

1

おそらくjscalを使用してジョイスティックを調整する必要があります- マニュアルページに従って-uオプションを使用して、マウスボタンを使用しないようにジョイスティックを構成できます。

同様に、ubuntuforumsのさまざまなジョイスティックとゲームパッドについても興味深いものがあります。


xorg.confファイルを生成して編集せずにこれを構成する方法はありますか?(私はすでにjscalを使用してジョイスティックを調整しています)
Shazzner

私はjstest-gtkを使用しています。リポジトリにあると思います。
animaletdesequia

1

Qjoypadを試すか、(QTを使用したくない場合は)あまり機能のないリジョイスティック(GTK)を試してください。このように、xorg.confを編集/作成する必要はありません。

どちらもplaydebで利用できます

ジョイスティックドライバーを理解することは一種の混乱であり、すべてが時代遅れまたは未完成のようです...がんばってください!


1
これらは素晴らしいプログラムですが、残念ながら、再バインドしても問題が解決しないため、私の問題は解決しませんでした。
シャズナー

1

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が新しいグラフィックドライバーのインストール後に更新された場合、失われることです。ファイル内の構成を確認するスクリプトを作成する方法を誰かに説明してもらえますか?そうでない場合は、再起動のたびに記述してください。事前に感謝します。


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デスクトップ(デスクトップに保存したため)

4- bash name.shと入力します(Enterをクリックすると、完了です!)

注1:最後の2行の0を1に変更するだけでオンに戻ります。注2:これが機能しない場合は、xserver-xorg-input-joystickと/usr/lib/X11/xorg.conf.dを必ず削除してください。 / 10-ジョイスティック


0

マティアス・パルミジャーニの答えが私の鍵でした。ただし、xinput list少なくともUbuntu 13.04 LTS では、形式が変更されています...

⎜   ↳ 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

お役に立てれば!

弊社のサイトを使用することにより、あなたは弊社のクッキーポリシーおよびプライバシーポリシーを読み、理解したものとみなされます。
Licensed under cc by-sa 3.0 with attribution required.