명령을 실행하는 두 번째 키보드


16

내 컴퓨터에는 두 개의 USB 키보드가 연결되어 있습니다. 둘 다 동일한 키를 입력하는 대신 문자를 입력하는 대신 명령을 실행하도록 두 번째 키보드를 설정할 수 있습니까? 그것이 가능하지 않다면 적어도 러시아어와 같은 다른 언어로 입력하도록 설정할 수 있습니까?


문자를 입력하지 않고 무언가 만 실행할 수 있도록 특정 명령을 두 번째 키보드의 선택된 키에 바인딩 하시겠습니까?
pbm

그리고 다음 질문 : 백그라운드 응용 프로그램 (또는 X 환경의 응용 프로그램)을 실행하는 데 단축키를 사용하거나 키보드 단축키를 사용하여 활성 터미널에서 명령 이름을 입력하고 싶습니까?
pbm

응용 프로그램으로 키 전송을 비활성화하는 다른 방법입니다. askubuntu.com/a/178741/554601
Ariunbayar

답변:


15

이것은 내가 추천 할 수있을 때 세 번째 대답입니다 actkbd... :)

문자를 입력하지 않는 명령을 실행하도록 두 번째 키보드의 모든 키를 구성하려면 actkbd... :)

설치 후 actkbd키보드에서 이벤트를 수신하는 데 사용되는 장치 파일을 찾아야합니다.

pbm@tauri ~ $ cat /proc/bus/input/devices 
[cut]
I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input0
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.0/input/input7
U: Uniq=
H: Handlers=sysrq kbd event5 
B: PROP=0
B: EV=120013
B: KEY=1000000000007 ff9f207ac14057ff febeffdfffefffff fffffffffffffffe
B: MSC=10
B: LED=1f

I: Bus=0003 Vendor=046d Product=c31c Version=0110
N: Name="Logitech USB Keyboard"
P: Phys=usb-0000:00:1a.0-1.1/input1
S: Sysfs=/devices/pci0000:00/0000:00:1a.0/usb1/1-1/1-1.1/1-1.1:1.1/input/input8
U: Uniq=
H: Handlers=kbd event6 
B: PROP=0
B: EV=1b
B: KEY=2010000 397ad801d001 1e000000000000 0
B: ABS=100000000
B: MSC=10
[cut]

이 목록에서 키보드를 찾아서 처리기를 확인해야합니다. sudo actkbd -s -d /dev/input/HANDLER_NAME해당 핸들러가 이벤트를 보내는 지 확인하는 데 사용 합니다. 이 명령을 실행하고 키보드에서 키를 누르면 (명령에 바인딩하려는 키 확인) 다음과 같은 내용이 표시됩니다.

pbm@tauri ~ $ sudo actkbd -s -d /dev/input/event5 
Keys: 57
Keys: 35

키 코드가 있으면 actkbd구성 파일을 만들 수 있습니다 .

pbm@tauri ~ $ sudo nano /etc/actkbd.conf 
30:::sudo -u pbm DISPLAY=:0 amarok
//30 is keycode for letter a

해당 파일을 저장할 때 구성이 작동하는지 테스트해야합니다.

pbm@tauri ~ $ sudo actkbd -d /dev/input/event5 -D

구성 파일의 마지막 열에서 구성 파일 명령에있는 키를 누르면 시작됩니다.

응용 프로그램으로 키 전송을 비활성화하는 방법이 있지만 README 파일 을 찾을 수 없습니다 .

actkbdX를 사용하여 키보드 를 비활성화하지 않고 키보드를 끌 수 있습니다.

pbm@tauri ~ $ xinput list
[cut]
    ↳ Logitech USB Keyboard                     id=12   [slave  keyboard (3)]
    ↳ Logitech USB Keyboard                     id=11   [slave  keyboard (3)]
pbm@tauri ~ $ xinput set-prop 11 "Device Enabled" 0
pbm@tauri ~ $ xinput set-prop 12 "Device Enabled" 0

작업을 수행해야합니다 ... :) 자세한 내용은 이 답변을actkbd 확인하십시오 .

actkbd러시아어 스크립트를 사용하여 명령 모드에서 입력 모드로 모드를 변경하도록 키보드를 구성 할 수도 있습니다. 이 Ulrich Schwarz's답을 읽으십시오 .


1
나는 10 억 개의 포럼에서이 질문에 백만 번 물었고 당신은 이것을 실제로 새로운 유일한 사람입니다. 1 조에 감사합니다.
captainandcoke

0

나는 그것을 할 수있는 작은 프로그램을 C로 작성했습니다. 나는 그것을 '즉석에서'작성 했으므로 그리 좋지는 않지만 작동합니다. 여기서 구할 수 있습니다 .


Unix 및 Linux Stack Exchange 사이트에 오신 것을 환영합니다. 검토하시기 바랍니다 도움말 센터를 하고 받아 투어를 이 사이트에 대한 자세한 내용은. 링크가 사용자 문제에 대한 해결책을 제공 할 수 있지만 게시물에 컨텍스트를 추가 할 수 있습니까? 현재 이것은 타사 사이트에서 소프트웨어를 다운로드하는 제안 일뿐입니다. 이것이하는 일, 설치 및 사용 방법, 당면한 질문에 대답하는 이유를 포함해야합니다. 감사합니다.
kemotep
당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.