จอยสติ๊กทำหน้าที่เหมือนเมาส์ จะไม่หยุด


14

จอยสติ๊กทำหน้าที่เหมือนหนูแม้ว่าฉันจะเล่นเกมที่ใช้จอยสติ๊กก็ตามฉันก็จะได้รับเหตุการณ์เมาส์แบบสุ่ม

ฉันเสียบจอยสติกเพื่อเล่น Spiral Knights ติดตั้งจอยสติ๊กและ jcalibrate ด้วย ทุกอย่างทำงานได้ดียกเว้นจอยสติ๊กเริ่มต้นจะเลื่อนเมาส์ไปรอบ ๆ และปุ่มจะเปิดใช้งานปุ่มเมาส์

ปกติแล้วนี่จะเป็นพฤติกรรมที่ดีถ้าฉันใช้ Myth-box หรืออะไรบางอย่างน่าเสียดายเมื่อฉันเล่น Spiral Knights ด้วยอินพุตจอยสติ๊กฉันเห็นเคอร์เซอร์ของเมาส์เคลื่อนที่ไปด้านหลังและเมื่อฉันกดปุ่มก็คิดว่าฉันกำลังกด คลิกขวาเพื่อลดทุกอย่าง นอกจากนี้ยังสร้างโฟลเดอร์และอาจลบข้อมูลต่างๆ

ดังนั้นโดยทั่วไปแล้วฉันจะหยุดไม่ให้ทำตัวเป็น heck ได้อย่างไร


คุณช่วยแสดงให้เห็นว่าพีซีของคุณมีอะไรบ้างและจอยสติ๊กที่คุณใช้อยู่ ยังเป็นรุ่นของ Ubuntu
Luis Alvarado

ฉันใช้อะแดปเตอร์ playstation 2 เป็น usb ภายใต้ jscalibrate แสดงเป็น: จอยสติ๊กของ GreenAsia Inc. ฉันใช้ Ubuntu 10.10
Shazzner

คำตอบ:


15

xserver-xorg-input-joystickถอนการติดตั้ง

มันเป็นแพ็คเกจสำหรับควบคุมเมาส์ด้วยจอยสติ๊ก ฉันติดตั้งเพียงครั้งเดียวเพื่อทดสอบและมันทำให้ฉันเป็นบ้าดังนั้นอาจเป็นปัญหา ฉันคิดว่าจอยสติ๊กจะทำงานเหมือนเดิมถ้าไม่มี


ไชโยที่ทำมัน! ฉันคิดว่ามันติดอยู่เมื่อฉันเพิ่มจอยสติ๊กแพคเกจในซินแนป มันใช้งานได้ดีในขณะนี้!
Shazzner

ฉันมีปัญหานี้ด้วยและแก้ไขได้ ขอบคุณมากสำหรับการตอบรับชื่นชมมาก!
b1ackcrow

มีวิธีปิด / เปิดเครื่องเรือนนี้หรือไม่? kindda เจ๋งควบคุมเมาส์ด้วย gamepad แต่มันก็ดีที่จะเปิดใช้เมื่อฉันต้องการมัน
chepe263

ขอบคุณมากสิ่งนี้ใช้ได้กับ Arch Linux ด้วย! กำลังพยายามเล่น Dustforce และนี่ทำให้ฉันรำคาญจริงๆ
Marco Scannadinari

1
FYI ฉันต้องออกจากระบบและย้อนกลับด้วย และใน 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

บันทึกปุ่มขวาในสิทธิ์และเลือก "ทำเครื่องหมายไฟล์นี้เป็นโปรแกรม"

ดำเนินการแล้วคุณจะมีจอยสติก "เป็นจอยสติ๊กอีกครั้ง" (และที่ดีที่สุดคือคุณสามารถใช้จอยสติ๊กเป็นเมาส์ได้อีกครั้งหากคุณเปลี่ยน "0" ในสองบรรทัดสุดท้ายด้วย "1")


ดูเหมือนว่ารูปแบบของบรรทัด "รายการ xinput" มีการเปลี่ยนแปลง
Phoeey

รหัสนี้ต้องการการเปลี่ยนแปลงเพื่อทำงานภายใต้ Ubuntu 18.04 LTS ผลลัพธ์มีการเปลี่ยนแปลง
Hans Deragon

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

ดีพอสำหรับฉัน! โหวตขึ้นดังนั้นมันจะสูงขึ้นไปด้านบน! ;-)
Fabby

1

บางทีคุณควรจะใช้ jscal เพื่อปรับเทียบจอยสติกของคุณ - คุณสามารถใช้ตัวเลือก -u ตามหน้าคู่มือเพื่อกำหนดค่าจอยสติกให้ไม่ใช้ปุ่มเมาส์

มีบางสิ่งที่น่าสนใจเกี่ยวกับจอยสติ๊ก & gamepads บนubuntuforumsด้วย


มีวิธีการกำหนดค่านี้โดยไม่สร้างแล้วแก้ไขไฟล์ xorg.conf หรือไม่ (ฉันใช้ jscal แล้วเพื่อปรับเทียบแท่งควบคุม)
Shazzner

ฉันใช้ jstest-gtk มันอยู่ใน repos ฉันคิดว่า
animaletdesequia

1

ลองใช้Qjoypadหรือ (ถ้าคุณไม่ต้องการใช้ QT) แท่งเลื่อนที่มีความโดดเด่นน้อยกว่า(GTK) วิธีนี้คุณไม่ต้องแก้ไข / สร้าง xorg.conf

พวกเขาทั้งสองมีอยู่ในplaydeb

การทำความเข้าใจกับจอยสติ๊กไดรเวอร์เป็นสิ่งที่ไม่เป็นระเบียบทุกอย่างดูเหมือนจะล้าสมัยหรือยังไม่เสร็จ ... โชคดี!


1
เหล่านี้เป็นโปรแกรมที่ยอดเยี่ยม แต่น่าเสียดายที่ไม่ได้แก้ปัญหาของฉันเพราะการปฏิเสธพวกเขาไม่ได้ทำให้ปัญหาหายไป
Shazzner

1

ฉันใช้ Linux Mint 17.3 และฉันมีปัญหาเดียวกันนี้ ฉันมีคอนโซลออนไลน์และฉันจะทิ้งคอนโทรลเลอร์ ฉันไม่รู้ว่ามันใช้งานได้ แต่มันเชื่อมต่อได้อย่างง่ายดายผ่านบลูทู ธ จอยสติ๊กด้านซ้ายนั้นควบคุมเมาส์และฉันค้นหาและลองใช้วิธีการต่าง ๆ แต่ก็ไม่มีวิธีใดทำงานเลย ฉันโพสต์สิ่งนี้เพื่อช่วยคนอื่น ฉันติดตามการแก้ไขจากหน้าการตั้งค่า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 และดูที่หมายเลขจอยสติกของคุณและแทนที่หมายเลขแทน 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- สร้างเอกสารใหม่แล้วใส่รหัสลงไปจากนั้นเปลี่ยนชื่อเป็นชื่อรูปแบบ 3- รันเทอร์มินัลจากนั้นใส่พา ธ ที่คุณบันทึกไฟล์

ตัวอย่าง: cd Desktop (เพราะฉันบันทึกของฉันลงบนเดสก์ท็อป)

4- พิมพ์ bash name.sh (คลิก Enter แล้วเสร็จ!)

Note1: หากต้องการเปิดใช้งานใหม่ให้เปลี่ยน 0 ใน 2 บรรทัดสุดท้ายเป็น 1 Note2: หากไม่ได้ผลโปรดลบ xserver-xorg-input-joystick และ /usr/lib/X11/xorg.conf.d / 10 จอยสติ๊ก


0

คำตอบของ Matias Parmigiani คือกุญแจสำคัญสำหรับฉัน อย่างไรก็ตามรูปแบบของการ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.