두 키보드의 입력을 한 컴퓨터의 해당 터미널 두 개로 직접 보내려면 어떻게 해야 합니까?

두 키보드의 입력을 한 컴퓨터의 해당 터미널 두 개로 직접 보내려면 어떻게 해야 합니까?

두 개의 USB 키보드를 동일한 컴퓨터(Linux)에 연결하고 싶습니다. 그런 다음 2개의 콘솔 #1과 #2를 열고 각 콘솔에서 프로세스를 실행하려고 합니다. 그런 다음 콘솔 #1의 키보드 #1에서 입력을 받고 콘솔 #2의 키보드 #2에서 입력을 받고 싶습니다. 즉, 각 키보드는 특정 프로세스에 입력을 제출합니다. 이것이 어떻게 달성될 수 있습니까? 코드가 C로 작성되었다고 가정합니다. 감사해요!

답변1

프로그램이 특정 키보드의 입력을 읽도록 하려면 올바른 입력 장치에서 원시 이벤트를 읽도록 할 수 있습니다. 입력 장치는 (일반적인 udev 설정 사용)이며 /dev/event[0-9]*어떤 장치를 찾고 있는지 알아볼 수 있습니다. 장치 식별(공급업체 및 일련 번호) 또는 장치가 연결된 USB 포트를 기준으로 장치를 일치시키는 조회입니다./dev/input/by-id/*-kbd/dev/input/by-path/*-kbdby-idby-path

/dev/*/by-*/실행하여 udev에 어떤 ​​정보가 있는지 알아낼 수 있습니다 udevadm info -a -n /dev/input/event42(장치에 대한 추가 정보를 보고하는 프로그램이 있는 경우 udev에 다른 프로그램의 출력을 사용하도록 지시할 수도 있습니다). 두 키보드를 구별할 수 없는 경우 출력에서 udevadm info​​구별되는 특성을 확인하세요. udevadm test /class/input/event42udev가 현재 적용하고 있는 규칙을 확인하기 위해 실행할 수도 있습니다 .

관련 정보