태그 보관물: microsoft-keyboard

microsoft-keyboard

Microsoft Natural Ergonomic Keyboard 4000의 확대 / 축소 슬라이더 (및 기타 버튼)를 작동시키는 방법? 멀티미디어 키 (볼륨, 재생 / 일시

Ubuntu 10.10에서 Microsoft Natural Ergonomic Keyboard 4000을 사용합니다. 멀티미디어 키 (볼륨, 재생 / 일시 정지), 메일 및 계산기 버튼도 작동합니다.

이제 줌 슬라이더를 사용하고 싶습니다. 가능하면 페이지 스크롤을 사용하고 싶습니다. 그것을 가능하게하는 방법이 있습니까?



답변

/etc/udev/rules.d/98-ms-ergo.rules다음 내용으로 파일 을 작성하십시오 .

ACTION=="remove", GOTO="keyboard_end"
KERNEL!="event*", GOTO="keyboard_end"
ENV{ID_INPUT_KEY}=="", GOTO="keyboard_end"
SUBSYSTEMS!="usb", GOTO="keyboard_end"

SUBSYSTEMS=="usb", IMPORT{builtin}="usb_id"

ENV{ID_VENDOR}=="Microsoft", ENV{ID_MODEL_ID}=="00db", RUN+="keymap $name 0xc022d pageup 0xc022e pagedown"

GOTO="keyboard_end"

설치된 파일을 변경하지 않고 확대 / 축소 키를 페이지 업 / 페이지 다운에 매핑합니다 /lib/udev.

추가 한 후에는 키보드를 분리했다가 다시 연결하면 작동합니다.


답변

Xubuntu 13.10 (아마도 Ubuntu 13.10에서도)은 다음과 같이 수행 할 수 있습니다.

편집 키 매핑에 /lib/udev/hwdb.d/60-keyboard.hwdb:

###########################################################
# Microsoft
###########################################################

# Microsoft Natural Ergonomic Keyboard 4000
keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_c022d=pageup
 KEYBOARD_KEY_c022e=pagedown

운영
sudo udevadm hwdb --update

재부팅하십시오.


답변

구성하기 위해 마이크로 소프트 인체 공학 키보드 4000을 우리는 키보드 선언과 키를 매핑에 대한 기록을 포함하는 구성 파일을 생성해야합니다.

이를 위해서는 다음 세 가지 유형의 정보가 필요합니다.

  • 키보드 타입
  • scancode키보드의 실제 키입니다
  • 키는 name선택된 키에 원하는 기능을 할당

먼저 키보드 유형을 찾으십시오.

터미널에서 다음 명령을 실행하십시오.

lsusb

출력에 따라 키보드 유형이 결정됩니다.

...
Bus 004 Device 022: ID 045e:00db Microsoft Corp. Natural Ergonomic Keyboard 4000 V1.0
...

다음에 나타납니다 ID. 이 경우045e:00db

두 번째로 스캔 코드와 키 이름을 찾으십시오.

이를 확인하기 위해 evtest터미널에서 특정 장치의 이벤트 정보를 로그 아웃하는 프로그램을 사용합니다 .

evtest

프로그램이없는 경우 다음 명령을 실행하여 설치하십시오.

sudo apt-get install evtest

evtest프로그램 을 실행하면 다음과 같은 결과가 나타납니다.

No device specified, trying to scan all of /dev/input/event* Available devices:
/dev/input/event0:    Power Button
/dev/input/event1:    Power Button
/dev/input/event2:    PixArt USB Optical Mouse
/dev/input/event3:    Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event4:    Microsoft Natural® Ergonomic Keyboard 4000
/dev/input/event5:    HDA Intel Front Headphone
/dev/input/event6:    HDA Intel Line Out
/dev/input/event7:    HDA Intel Line
/dev/input/event8:    HDA Intel Rear Mic
/dev/input/event9:    HDA Intel Front Mic
/dev/input/event10:   HDA ATI HDMI HDMI/DP,pcm=3
Select the device event number [0-10]:

출력은 설명이 필요 없으며 키보드에 적절한 숫자를 3입력하십시오.

그렇게하면 터미널에 많은 정보가 출력되고 다음 줄로 끝납니다.

...

Testing ... (interrupt to exit)
Event: time 1472203902.240594, type 17 (EV_LED), code 0 (LED_NUML), value 0
Event: time 1472203902.240594, -------------- SYN_REPORT ------------
Event: time 1472203902.281456, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70058
Event: time 1472203902.281456, type 1 (EV_KEY), code 96 (KEY_KPENTER), value 0
Event: time 1472203902.281456, -------------- SYN_REPORT ------------

이제 키보드를 누를 때마다 키 정보가 덤프됩니다. 예를 들어 오른쪽 이동 옆에 있는 슬래시 키는 다음을 보여줍니다.

Event: time 1472205062.294078, type 4 (EV_MSC), code 4 (MSC_SCAN), value 70038
Event: time 1472205062.294078, type 1 (EV_KEY), code 12 (KEY_SLASH), value 0
Event: time 1472205062.294078, -------------- SYN_REPORT ------------

로그의 첫 번째 줄에는 키보드 의 실제 키 에 대한 정보 ( 예 : scancode값 뒤에 오는 키) 가 포함됩니다. 이 경우 70038입니다

두 번째 줄에는 키 이름과 같은 할당 된 기능 정보가 있습니다. 이 경우 SLASH 입니다. 다른 키를 검사하여 적절한 이름을 찾으십시오.

간단히 말해 :

  • 우리의 키보드 유형은 : 045e : 00db
  • 슬래시 키의 스캔 코드는 다음과 같습니다 : 70038
  • 할당 키의 이름은 SLASH입니다

필요한 정보를 수집 한 후 구성 파일을 만듭니다.

sudoedit /etc/udev/hwdb.d/61-keyboard-local.hwdb

히트 i활성화하기 위해 삽입 모드를 하고 다음을 입력합니다 :

keyboard:usb:v045Ep00DB*
 KEYBOARD_KEY_70038=minus

을 누르고 저장 escape한 다음 Enter 키 를 눌러 저장하고 종료 :wq하십시오.

그런 다음 구성을 적용하려면 다음 두 명령을 실행하십시오.

sudo udevadm hwdb --update
sudo udevadm control --reload

마지막으로 키보드를 분리했다가 다시 연결하십시오.

구성 파일에 대한 참고 사항 :

  • 파일 형식은 표시된 것과 정확히 일치해야하며 레코드를 매핑하기 전의 공간이 중요합니다.
  • sudoedit다른 텍스트 편집기를 사용하는 대신 위에 설명한대로 파일의 정확한 형식을 따라야합니다.
  • 두 개의 키보드 유형에 추가 문자가 있습니다 vp공급 업체 및 제품에 서있다. 그들은 또한 중요하다.
  • 키보드 유형은 구성 파일에서 대문자로 작성됩니다. 키보드 유형은 045e : 00db 이지만 구성에서는 v045Ep00DB *를 삽입합니다.
  • 키의 스캔 코드는 바로 다음에 온다 KEYBOARD_KEY_
  • 구성 파일에서 키 이름이 소문자로 나타납니다
  • 이 튜토리얼에 따라 키보드의 거의 모든 키를 사용자 정의 할 수 있습니다.

답변

문제 이다 > evdev 운전자가 키 코드를 무시한다 (255) . Marco Chiappero
덕분에 솔루션 :

1) 필요한 모든 리 맵핑을 정의해야합니다 (
"scancode keycode"list) 파일을 "/ lib / udev / keymaps /"아래의 파일에 저장하십시오
(예를 들어 logitech-lx710-cordless를 만들었습니다). 당신은 찾을 수 있습니다
evtest를 사용하여 스캔 코드 ( "sudo evtest / dev / input / eventX", 여기서 X는
키보드 장치. 때때로 이러한 추가 키가 노출 될 수 있으므로주의하십시오
다른 장치 또는 마우스 인터페이스 : 예. event3-> kbd, event4->
마우스 및 추가 키). 다음은 샘플 출력입니다.

이벤트 : 시간 1294153475.909379, 유형 4 (기타), 코드 4 (ScanCode), 값 c1028
"c1028"은 키맵 파일에 넣을 스캔 코드 값입니다.
앞에서 설명한대로 input.h에서 숫자를 가져 와서
16 진수. 그런 다음 파일에 다시 매핑 쌍을 작성하십시오.
다음과 같이 의견 :

0xC1028 0x9a # 회전 버튼

255보다 큰 모든 키에 대해 반복하십시오.

2) udev에게이 리매핑 파일이 발생할 때마다 적용하도록 지시해야합니다.
키보드에서 "/lib/udev/rules.d/95-keymap.rules"파일을 추가하여 편집하십시오.
HW와 일치하는 udev 규칙. 규칙을 정의하도록 요청하지 마십시오.
당신.
참고 : 직접 입력하여 키맵 파일을 즉시 적용 할 수 있습니다
"sudo / lib / udev / keymap / dev / input / eventX / lib / udev / keymaps / $ YOUR_FILE"및
다시 한번 evtest로 확인하십시오.

이제 Gnome 단축키 편집기를 사용하여 키가
X 안에서 사용할 수 있고 새로운 단축키를 만듭니다. 그러나 그것은 일어날 수 있습니다
keysym이 해당 키 코드에 할당되므로 XF86Foo 대신 0xXY가 표시됩니다.
xmodmap -pke를 통해 현재 매핑을 볼 수 있습니다.
필요한 경우 파일을 작성하고 편집하십시오 (전체 키심 코드 목록은
"/ usr / lib / X11 / XKeysymDB").
다시 매핑 한 키에 키 심을 추가하면이 파일을 저장할 수 있습니다
~ / .Xmodmap으로 (또는 모든 사용자에게 적용하려면 / etc / X11 / Xmodmap으로)

답변

내 컴퓨터에서는 / dev / input / event5를 통해 추가 키 (HomePage, Search, Calc 등) 및 확대 / 축소 입력이 전송되었지만 일반 키는 / dev / input / event4를 통해 전송되었습니다. 확대 / 축소 키 값이 큐 오버플로와 일치합니다.


답변