하나의 USB 포트 2개/키보드 2개

하나의 USB 포트 2개/키보드 2개

저는 두 개의 키보드를 사용합니다(Koolertron AE-SMKD72 유형 A), 저는 분할 키보드로 사용합니다. 그러나 두 개의 별도 키보드로 인식되어 몇 가지 문제가 발생합니다.

  • 대체 키보드 레이아웃을 사용하지만프로그램내가 누르면 Ctrl단축키를 다시 배우고 싶지 않기 때문에 run이 키를 다시 QWERTZ로 매핑합니다 Ctrl-c. 키보드 Ctrl왼쪽, 오른쪽을 눌러도 프로그램 u이 작동하지 않아요 .
  • 하나 있다허점Gnome에서는 두 개의 다른 키보드를 빠르게 입력하면 화면이 정지됩니다.
  • 하나의 키보드만 나열됩니다 /dev/input/by-id(아마도 이름이 동일하기 때문일 것입니다).

그래서 나는 두 개의 키보드를 하나로 취급하는 Linux를 선호합니다.

두 개의 키보드를 하나의 입력 장치로 결합할 수 있습니까? 아니면 두 장치가 하나로 보이도록 USB 포트를 하나로 결합할 수 있습니까?

답변1

쉽지는 않지만 프로그래밍 방법을 알고 있다면 두 개의 /dev/input/eventX장치를 잡고(프로그램을 제외한 모든 장치에 이벤트를 전달하는 것을 방지) 거기에서 키 누르기를 읽고 정의된 단일 사용자 입력 장치( )에 출력할 수 있습니다 /dev/uinput.

이러한 커널 API를 사용하는 방법에 대한 C 샘플 프로그램이 있습니다. 다른 언어도 가능합니다.

답변2

키보드 /dev/input/eventX파일 이벤트를 가져 /dev/uinput와서 fatkelp.

fatkelp다음 명령을 사용하여 설치하십시오.

curl https://raw.githubusercontent.com/algames2019/fatkelp/main/installer.sh > installer.sh; chmod +x installer.sh; sudo ./installer.sh

두 키보드의 ID 찾기

sudo fatkelp -l

그런 다음 /dev/uinput에 전달합니다(두 키보드 모두에서 이 작업을 수행).

sudo fatkelp -x id

그런 다음 두 개의 키보드를 제거하십시오.

xinput list               # list all devices (you can find id here)
xinput float id           # detach devices

관련 정보