저는 두 개의 키보드를 사용합니다(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