맞춤 키가 포함된 게이머 키보드

맞춤 키가 포함된 게이머 키보드

많은 컴퓨터 및 게임 매니아들은 특수 키보드를 사용합니다. 이러한 키보드의 일반적인 특징은 게임 및 소프트웨어와 관련된 특수 명령에 바인딩되도록 설계된 많은 사용자 정의 키입니다.

이러한 사용자 정의 키 트리거 명령을 편집하고 생성하는 데 사용되는 소프트웨어는 거의 항상 Windows에 있습니다.

예: Tt Esports Challenger 소프트웨어챌린저 프로 게임

Wine을 사용하여 소프트웨어를 실행할 때 키보드나 기타 장치를 찾을 수 없으므로 키 바인딩을 프로그래밍할 수 없습니다.

키보드를 찾을 수 없습니다

대부분의 키보드에서 사용자 정의 키의 기본 바인딩은 ctrl+c및 입니다 ctrl+v. 따라서 System Settings사용자가 이러한 명령을 사용하려고 시도할 때마다 설정을 사용하여 해당 키를 덮어쓰게 됩니다.

이 문제에 대한 가능한 해결책은 무엇입니까? Wine이 하드웨어를 감지하도록 하는 방법이 있습니까, 아니면 사용자 정의 키를 설정하는 다른 방법이 있습니까?

특수 소프트웨어를 개발하거나 사용할 때 사용자 정의 키를 사용할 수 있기 때문에 솔루션을 찾는 것은 Linux 커뮤니티에 매우 도움이 될 것입니다.

내 키보드는 hid-generic.

기본적으로 설정되지 않은 키의 경우 evtest반환되는 세 가지 사전 설정 값 외에는 아무것도 등록되지 않습니다.

Event: time 1488397338.016750, type 4 (EV_MSC), code 4 (MSC_SCAN), value 700e0
Event: time 1488397338.016750, type 1 (EV_KEY), code 29 (KEY_LEFTCTRL), value 0

xev기본적으로 설정되지 않은 키는 2번 누르는 등 Ctrl+C로 미리 설정된 키만 등록됩니다.

USB 프로토콜을 스니핑할 수 있는 Windows 시스템이 있습니다. 그런데 어떻게 해야 합니까?

답변1

이를 위해서는 여러 단계/반복이 필요할 수 있으며 Q&A 형식은 적합하지 않습니다. 문제가 발생하면 더 많은 정보로 질문을 업데이트하고 이 답변에 대한 의견에 의견을 남겨주세요. 그런 다음 답변을 편집하겠습니다.

설명에 따르면 특수키와 키 이벤트의 매핑은 키보드에서 이루어지는 것으로 보이므로 프로그래밍은 드라이버가 아닌 키보드에서 이루어져야 합니다.

다음과 같은 다양한 Windows용 오픈 소스 USB 스니퍼가 있습니다.usbpcap또는 그 이상USB 모니터링, Google에서 자세한 내용과 사용 방법에 대한 튜토리얼을 찾을 수 있습니다.

원칙적으로 프로그래밍 소프트웨어를 사용하여 다양한 키 시퀀스로 다양한 특수 키를 프로그래밍할 때 통신을 기록해야 합니다. 그런 다음 패킷을 보고 비교하고 다른 특수 키나 프로그래밍 순서로 인해 어떤 바이트가 변경되었는지 확인합니다. 프로토콜을 추측 libusb하고 작성한 프로그램을 사용하여 Linux에서 재생해 보세요.

귀하의 키보드는 HID이고 HID는 고도로 표준화되어 있으므로 도움을 드릴 수 있습니다. 익숙해지세요HID 문서(또는 적어도 필요한 부품을 찾으십시오). 각 HID 장치에는 HID 표준에 따라 장치와의 가능한 모든 상호 작용을 설명하는 설명자가 함께 제공됩니다. 이것이 키보드가 프로그래밍된 방식이고 "공급업체별" 필드가 너무 많지 않은 경우 프로토콜을 추측할 수 있습니다.

두 가지 방법으로 설명자를 읽을 수 있습니다.

(1) 커널이 debugfs활성화되어 있으면 루트로 실행하십시오.

mount -t debugfs none /sys/kernel/debug
cat /sys/kernel/debug/hid/device_id/rdesc

device_id키보드의 ID가 어디에 있습니까? 그러면 원시 설명자가 16진수 바이트로 표시되고 커널이 이를 구문 분석하는 방법이 표시됩니다. 커널 구문 분석이 충분하지 않은 경우 다음을 시도하십시오.허드원시 설명자를 변환합니다.

(2) 기기 내 문제 HIDIOCGRDESCSIZEHIDIOCGRDESCioctl hidraw( dmesg키보드에 적합한 항목 찾기) samples/hidraw/hid-example.c이를 수행하는 방법은 Linux 커널 소스 코드 에 설명되어 있거나 기성 도구(예:usbhid 덤프.

이상적으로는 일부를 볼 수 있습니다.특징또는산출프로그래밍과 관련된 설명입니다. 설명 필드 중 너무 많은 부분이 명확하지 않거나 "공급업체별"로 표시된 경우에도 스누핑 소프트웨어 도구가 필요할 수 있습니다.

관련 정보