Linux는 키를 누르지 않아도 조이패드 키가 눌린 것을 감지합니다.

Linux는 키를 누르지 않아도 조이패드 키가 눌린 것을 감지합니다.

내 Arch Linux 시스템에 매우 이상한 문제가 있습니다. 글쎄, 나는 그것을 몇 년 동안 사용해 왔지만 조이패드를 자주 사용하지 않기 때문에 처음에는 그것을 무시했습니다. 매우 이상한 문제이므로 주의 깊게 읽어보세요.

나는 얼마 전에 Xbox 360 패드를 사용하여 에뮬레이터에서 오래된 PSX 게임을 플레이하려고 했습니다(걱정하지 마세요. 원본 디스크였습니다). xpad 커널 모듈을 사용하여 패드를 구성하려고 시도했을 때 에뮬레이터(기본적으로 실행 중인 PCSX)에서 올바른 트리거가 계속 눌러져 있다는 메시지가 계속 표시되어 다른 키 구성이 불가능해졌습니다(구성하려고 시도한 모든 키가 계속해서 오른쪽 트리거에 할당됨).

Wine에서 실행되는 ePSXe(그리고 ePSXe 네이티브)라는 다른 에뮬레이터를 사용해 보았지만 동일한 문제가 발생했습니다. 이 시점에서 나는 이미 매우 의심스러웠습니다. 나는 완벽하게 작동하는 오리지널 Xbox 360 유선 컨트롤러와 다른 사람들이 사용하는 xpad를 사용하고 있는데 왜 작동하지 않을까요? 그러나 나는 포기하지 않고 xboxdrv 사용자 공간 드라이버와 같은 대체 솔루션을 시도했습니다. 불운. 나는 이 일로 인해 잠을 설치고 싶지 않았기 때문에 포기했습니다.

최근 PS2 컨트롤러용 USB 어댑터를 구입했습니다. 플러그를 꽂고 에무스에서 구성을 시도했는데...뭔데요? R2 버튼(X360 컨트롤러의 오른쪽 트리거와 동일한 위치에 있음)을 계속 누르고 있다고 합니다! 완벽하게 작동하는 두 개의 컨트롤러가 서로 다른 드라이버와 서로 다른 소프트웨어를 사용하면서 동일한 문제를 일으킬 가능성은 얼마나 됩니까? 적어도 이제는 X360 패드의 소프트웨어나 xpad 또는 에뮬레이터의 것이 아니라는 것이 분명해졌습니다.

이러한 용의자를 모두 제외하고 제가 생각해 낼 수 있는 설명은 단 하나뿐입니다. 커널의 조이패드 모듈이 엉망이라는 것입니다. 그러나 저는 조이패드와 관련된 구성 파일을 건드린 적이 없으며 제 커널은 Arch Linux 저장소의 기본 커널입니다. 제 문제를 좀 도와주실 수 있나요? 나는 이 특정 문제에 많은 시간과 돈을 투자했습니다.

해당 키가 다른 드라이버를 사용하는 다른 조이패드에서 나오는 기술적으로 다른 키인 경우에도 항상 동일한 키(오른쪽 트리거/R2)를 감지하는 이유는 무엇입니까(비록 xpad는 커널 조이패드 모듈에 대한 입력을 "변환"할 뿐이라고 생각하지만)? 다른 키는 올바르게 작동한다는 점을 명심하세요. 저는 수동으로 할당한 적이 있으며 올바른 트리거/R2를 어떤 기능에도 할당하지 않는 한 모든 키가 작동했습니다.

수정된 커널을 사용하지 않고 조이패드와 관련된 구성 파일을 한 번도 건드린 적이 없다면 왜 이것이 작동하지 않습니까? 다른 사람이 이 문제를 겪은 적이 있나요? 검색 엔진에 무엇을 입력해야 할지조차 모르겠습니다. 읽어주셔서 정말 감사합니다.

답변1

xpad 모듈에 문제가 있을 수 있는 것처럼 보이지만 컨트롤러를 인식하지 못해 '알 수 없는 패드' 모드로 들어갈 수 있다는 점만 다릅니다.

세 가지 매개변수를 사용하여 모듈의 작동을 수정할 수 있습니다.
+dpad_to_buttons: 알 수 없는 패드의 경우 D-PAD를 축이 아닌 버튼에 매핑
+Triggers_to_buttons: 알 수 없는 패드의 경우 트리거를 축이 아닌 버튼에 매핑
+스틱_to_null: 알 수 없는 패드에 대해서는 스틱을 전혀 매핑하지 마십시오.

파일의 줄을 추가/변경하여/etc/modprobe.d, 이러한 매개변수를 설정/재설정할 수 있습니다.

다음 위치에서 파일을 생성하세요./etc/modprobe.d, '로 끝나야 합니다..conf', 그렇지 않으면 구성 파일로 인식되지 않습니다.

이 파일에 다음 줄을 입력하세요.

options xpad {option} [{option}...]

원하는 대로 옵션을 추가하거나 제거합니다. 주석 처리를 권장합니다 (#) 옵션이 나열되지 않은 경우 줄을 삭제하거나 파일을 완전히 삭제하세요.

당신은 아마해야 할 것입니다rmmod그만큼엑스패드모듈, 그러면모드프로브새로운 옵션으로 다시 로드합니다.

옵션이 인식되지 않는 것 같으면 다음을 실행해야 할 수도 있습니다.depmod -a모듈 종속성 테이블을 다시 작성합니다.

다음을 사용하여 모듈에 유효한 매개변수를 확인할 수 있습니다.모드인포명령.

관련 정보