Windows용 Lenovo IdeaPad Yoga 2 Pro에는 사용할 수 있는 기능이 있습니다 Fn.F6터치패드 켜고 끄기(올바른 키를 매핑하고 싶습니다.스크립트는 askubuntu에 있습니다.).
하지만 Linux에서는 작동하지 않습니다.
이 조합을 눌렀을 때 어떤 이벤트 키코드가 방출되는지 어떻게 알 수 있나요?
showkey -a
시도해 보았는데 대부분의 키 코드는 눌렀을 때 표시되지만 + 를 누르면 조용하게 showkey -k
유지됩니다 . 다른 +는 출력을 표시하지만 Windows에서는 작동하지만 출력을 표시하지 않습니다. 뭔가 다른 게 있어요xev
FnF6FnF1-F5F6대안xev
도착 했니 showkey
?
지금까지 내가 찾은 유일한 팁은 다음과 같습니다.
grep TOUCHPAD /usr/include/linux/input.h
#define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */
#define KEY_TOUCHPAD_ON 0x213
#define KEY_TOUCHPAD_OFF 0x214
출처 : 댓글 중https://askubuntu.com/a/270428/34298그리고 링크이 기사
누군가 아이디어가 있을까요?
답변1
실행하면 + 에 대한 키코드를 얻을 수 xev
있습니다 .showkey
FnF6
예
Thinkpad T410 노트북을 사용할 때 showkey -k
다음 메시지가 나타납니다.
$ sudo showkey -k
kb mode was ?UNKNOWN?
[ if you are trying this under X, it might not work
since the X server is also reading /dev/console ]
press any key (program terminates 10s after last keypress)...
keycode 28 release
keycode 143 press <--- Fn press + release
keycode 143 release
^[[17~keycode 64 press <--- F6 press + release
keycode 64 release
keycode 212 press <--- Fn + F6 press + release
keycode 212 release
keycode 29 press <--- Ctrl + C press + release
^Ccaught signal 2, cleaning up...
어쩌면 지원되지 않습니까?
나는 다음과 같은 제목의 Arch Linux 위키 기사를 발견했습니다.레노버 아이디어패드 요가 2 프로, 이는 키가 직접 매핑되지 않았음을 나타내는 것 같습니다. 계속해서 파헤칠 것이지만 여기에도 이 정보를 추가해야겠다고 생각했습니다.
발췌
키보드 특수 키
BIOS에는 FN 키의 동작을 바꾸는 설정이 있습니다.
fn+F1 XF86AudioMute fn+F2 XF86AudioLowerVolume fn+F3 XF86AudioRaiseVolume fn+F4 Alt_L+<F4> fn+F5 <F5> fn+F6 n/a fn+F7 n/a fn+F8 Alt_L+Tab fn+F9 n/a? fn+F10 super_L+p fn+F11 XF86MonBrightnessDown fn+F12 XF86MonBrightnessUp
수정된 ideapad_laptop 모듈을 사용하시나요?
나는 다음과 같은 제목의 페이지를 발견했습니다.레노버 아이디어패드 요가 2 프로LinLap 위키에서. 이 문서에서는 ideapad_laptop
특정 키가 작동하지 않는 문제를 해결하는 모듈의 패치 버전에 대해 설명합니다.
발췌
.blacklist 에 블랙리스트 ideapad_laptop 을 추가하여
ideapad_laptop
작동하게 하세요 ./etc/modprobe.d/blacklist.conf
패치된ideapad_laptop
모듈은 다음에서 구할 수 있습니다.https://github.com/pfps/yoga-laptopYoga_laptop 디렉토리의 내용은 무선 기능을 작동시키고 비행기 모드 키도 처리합니다.
이 패치 모듈 의 경우 README
키에 대해서도 다음과 같이 설명됩니다 F6
.
터치패드를 비활성화(F6)하면 인식할 수 없는 스캔 코드가 생성됩니다. 이 문제는 터치패드 상태를 전환하는 트리거 스크립트를
sudo setkeycodes e03f 191
설정하여 수동으로 해결할 수 있습니다 .XF86TouchPadToggle
일시정지와 인터럽트는 동일한 문자를 생성합니다. 이 문제는 로 해결할 수 있습니다sudo setkeycodes e046 194; xmodmap -e "keycode 202 = Break"
. 더 나은 접근 방식은 udev 규칙을 이용하는 것입니다. 자세한 내용은 Yoga_laptop/README를 참조하세요.
인용하다
답변2
https://wiki.ubuntu.com/Hotkeys/문제 해결이러한 키보드 문제를 해결하기 위한 몇 가지 팁이 있습니다.
설치하다
sudo apt-get install evtest
그리고 달리다
sudo evtest
선택3
/dev/input/event3: AT Translated Set 2 keyboard
당신은 다음과 같은 것을 보게 될 것입니다
Event: time 1397868878.732211, -------------- SYN_REPORT ------------
Event: time 1397868878.915728, type 4 (EV_MSC), code 4 (MSC_SCAN), value bf
답변3
내 상자(Lenovo Yoga 900 13ISK2)에서 Fn F6을 누를 때마다 다음 출력을 볼 수 있습니다 dmesg
.
[20468.127492] atkbd serio0: Unknown key pressed (translated set 2, code 0xbf on isa0060/serio0). [20468.127504] atkbd serio0: Use 'setkeycodes e03f <keycode>' to make it known.
저는 git 소스 트리에서 컴파일된 4.8 커널을 사용하고 있습니다. include/uapi/linux/input-event-codes.h
내가 보기 에 :
#define KEY_TOUCHPAD_TOGGLE 0x212 /* Request switch touchpad on or off */
그래서 나는 그랬다 setkeycodes e03f 530
. 이후에는 해당 메시지가 더 이상 나타나지 않지만 dmesg
, 키를 눌러도 터치패드가 켜지거나 꺼지지 않습니다.
또 다른 재미있는 사실: 화면을 "태블릿 모드"로 전환하면 동일한 메시지가 표시되므로 dmesg
BIOS가 Fn F6을 누를 때와 동일한 이벤트를 보내는 것처럼 보입니다. 안타깝게도 이런 현상은 화면을 완전히 뒤집은 후에만 발생하며 190° 정도를 넘은 후에는 발생하지 않습니다.
답변4
이것은 약간 오래된 것이지만 내 노트북에서도 비슷한 문제가 있었습니다(전환 모드는 아니지만 매핑되지 않은 경우도 비슷했습니다). "Fn" 키를 누를 때마다 6f가 매핑되지 않았다고 보고됩니다. 결국 "Fn" 키가 464(0x1D0)에 매핑되어 있다는 것을 알게 되었습니다.https://github.com/torvalds/linux/blob/master/include/uapi/linux/input-event-codes.h...그런 다음 다음을 사용할 수 있습니다.
setkeycodes 6f 464
이제 "KEY_FN"으로 표시됩니다. 하지만 이를 영구적으로 만들기 위해 결국 시작 스크립트를 만들었습니다. 귀하의 경우 전환이 작동하지 않으면 다른 더 나은 키 코드가 있습니까? 그러나 "fn+f6"이 bf를 생성하는지 확인하려면 (누군가 이미 지적했듯이) evtest가 필요합니다. "e0xx"를 사용하면 효과가 작동하지 않는다고 dmesg가 말하는 내용에 동의하지 않습니다. 귀하의 경우는 다음과 같아야 합니다.
setkeycodes bf 530