xmodmap을 사용하여 마우스 클릭처럼 작동하도록 키보드의 버튼을 만들고 싶습니다. 어떻게합니까?
우분투 10.10 실행
답변
다음 단계는 키보드 키를 마우스 버튼에 다시 연결하는 데 도움이됩니다.
-
xev
유틸리티를 사용하여 키보드 키를 식별하십시오 .xev 유틸리티를 실행하고 다시 연결하기 위해 키보드 키를 누르면 다음과 같이 출력됩니다
KeyPress event, serial 37, synthetic NO, window 0x3e00001,
root 0x82, subw 0x0, time 28977858, (-419,294), root:(175,613),
state 0x0, keycode 38 (keysym 0x61, a), same_screen YES,
XLookupString gives 1 bytes: (61) "a"
XmbLookupString gives 1 bytes: (61) "a"
XFilterEvent returns: False
다시 매핑 될 키 코드를 기록해 두십시오.
-
xkbset 유틸리티를 실행하십시오.
xkbset m
-
xmodmap 유틸리티를 사용하여 다시 매핑하십시오.
아래의 경우 메뉴 키가 마우스 오른쪽 버튼으로 다시 매핑됩니다.
xmodmap -e "keycode 135 = Pointer_Button3"
답변
xmodmap과 Pointer_Button1 키맵을 사용 하여이 작업을 수행 할 수 있다고 생각합니다.
정확한 철자와 대문자를 보려면 /usr/include/X11/keysymdef.h 파일을 확인하십시오. 그러나 키보드 키를 마우스 버튼 (1,2,3 등)으로 두 번 클릭해도 가능합니다 ( 460 행 근처의 헤더 파일 참조)
keysym W = Pointer_Button1
W 키가 마우스 왼쪽 버튼으로 작동 할 수 있습니다. W를 사용하지 않지만 다른 것이 당신에게 도움이되지 않는 한 다른 키를 사용하는 것이 좋습니다. (아니, 나는 그것을 직접 시도하지 않을 것이고, 나는 W가 필요하다!)
또한 xmodmap의 맨 페이지와 철자가 올바른지 확인하려면 /usr/include/X11/keysymdef.h의 내용을 확인하십시오. xmod_에 키심 이름을 사용하려면 XK_ 접 두부를 삭제하십시오.
내 데비안 시스템의 x11-proto-core-dev 패키지에있는 것처럼 (keysymdef.h) 보입니다 … 파일과 그 내용을 온라인으로 검색하고 싶을 수도 있습니다. 그냥 가져와 GIYF.
이 작업을 수행하는 다른 방법에 대해 머리 뒤로 간질이는 것이 있지만 지금은 아무것도 오지 않습니다.
오! 필요에 따라 키보드 마우스 에뮬레이션을 살펴볼 수 있습니다. 숫자 키패드를 완전한 기능을 갖춘 2 버튼 (스크롤 휠 없음) 마우스로 바꿉니다.
답변
내장 된 “키보드 마우스 에뮬레이션”모드에서이 작업을 수행 할 수 있지만 다양한 마우스 클릭 및 누르기 (드래그 용)를 에뮬레이션하기위한 사전 구성된 키 조합 이 있습니다.
(FYI :이 기능을 켜는 키 조합 은 얼마 전부터 기본 키맵에서 제거되었으며 이제는 필요합니다 Option XkbOptions "keypad:pointerkeys"
.)
키를 치는 것이이 모드를 켜는 유일한 방법은 아닙니다 :
xkbset m
이것은 http://crunchbang.org/forums/viewtopic.php?id=27937에 따라 이루어지며 불쾌한 시간 초과를 제어하고 cmdline에서 끌 수 있습니다. 불쾌한 시간 초과를 끄려면 :
xkbset exp =m
따라서 선호하는 시간 초과 등을 더 많이 제어 할 수 xkbset
있기 때문에이 모드를 켜기위한 키를 사용하는 것보다 훨씬 더 편리합니다 xkbset
.
숫자 키패드가 사용됩니다. 몇 가지 기본 조합 (자세한 내용은 http://en.linuxreviews.org/HOWTO_use_the_numeric_keyboard_keys_as_mouse_in_XOrg :
/
,*
,-
위한 선택 왼쪽, 오른쪽 또는 중간 버튼;5
선택한 버튼으로 클릭하기위한 것입니다 .0
및.
가압 및 해제 용으로 선택 (드래그 등을위한) 버튼
“키보드 마우스 에뮬레이션”이 항상 활성화되는 문제에 대한 참고 사항
-
“키보드 마우스 에뮬레이션”을 항상 활성화 할 수 없습니다. 그래서 나는 이것을하기 위해 특별한 키에 의존했다
keypad:pointerkeys
. -
시작시 Xfce가 이러한 설정을 망친다는 것을 알았습니다. 따라서 Xfce
xkbset m
이전에 실행하면 설정이 활성화되지 않습니다. 따라서 Xfce 구성에서 설정을 변경해야했습니다. 즉, Xfce 설정 : 접근성 : 마우스 : 활성화 에뮬레이션 입니다. (그와 같은 Xfce 옵션의 존재에 대한 정보는 https://bugzilla.xfce.org/show_bug.cgi?id=3860 입니다.) 도움이 된 것 같습니다. (또한 터치 패드를 사용하지 않도록 설정하고 있습니다xinput float ...
. Linux 콘솔간에 전환하면 문제가 발생하지만 최소한 Xfce 설정에서이 장치를 사용 중지하면 다시 해결할 수 있습니다.)