키보드로 마우스 클릭 모방


13

xmodmap을 사용하여 마우스 클릭처럼 작동하도록 키보드의 버튼을 만들고 싶습니다. 어떻게합니까?

우분투 10.10 실행


setxkbmap -option keypad:pointerkeys당신이 원하는 것을 할 것입니다. 그런 다음 시프트 숫자 잠금.
peterh-복 직원 모니카

답변:


6

다음 단계는 키보드 키를 마우스 버튼에 다시 연결하는 데 도움이됩니다.

  1. 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

    다시 매핑 될 키 코드를 기록해 두십시오.

  2. xkbset 유틸리티를 실행하십시오.

    xkbset m

  3. xmodmap 유틸리티를 사용하여 다시 매핑하십시오.

    아래의 경우 메뉴 키가 마우스 오른쪽 버튼으로 다시 매핑됩니다.

    xmodmap -e "keycode 135 = Pointer_Button3"


내 스크립트 참조 superuser.com/questions/313926/… 리눅스에서 마우스 버튼에 키를 사용하십시오. AHK의 대안?
Russo

4

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 버튼 (스크롤 휠 없음) 마우스로 바꿉니다.


1
"키보드 마우스 에뮬레이션"에 대한 독자 정보 : en.linuxreviews.org/… 이 기능을 켜는 키 조합 은 기본적 으로 비활성화되어 있으며 지금은 필요합니다 Option XkbOptions "keypad:pointerkeys". 키를 치는 것이 이것을 켜는 유일한 방법은 아닙니다. crunchbang.org/forums/viewtopic.php?id=27937xkbset m따라 수행 되며 불쾌한 시간 초과를 제어하고 cmdline에서 끌 수도 있습니다.
imz-Ivan Zakharyaschev 2018 년

3

내장 된 "키보드 마우스 에뮬레이션"모드에서이 작업을 수행 할 수 있지만 다양한 마우스 클릭 및 누르기 (드래그 용)를 에뮬레이션하기위한 사전 구성된 키 조합 이 있습니다.

(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.가압 및 해제 용으로 선택 (드래그 등을위한) 버튼

"키보드 마우스 에뮬레이션"이 항상 활성화되는 문제에 대한 참고 사항

  1. "키보드 마우스 에뮬레이션"을 항상 활성화 할 수 없습니다. 그래서 나는 이것을하기 위해 특별한 키에 의존했다 keypad:pointerkeys.

  2. 시작시 Xfce가 이러한 설정을 망친다는 것을 알았습니다. 따라서 Xfce xkbset m이전에 실행하면 설정이 활성화되지 않습니다. 따라서 Xfce 구성에서 설정을 변경해야했습니다. 즉, Xfce 설정 : 접근성 : 마우스 : 활성화 에뮬레이션 입니다. (그와 같은 Xfce 옵션의 존재에 대한 정보는 https://bugzilla.xfce.org/show_bug.cgi?id=3860 입니다.) 도움이 된 것 같습니다. (또한 터치 패드를 사용하지 않도록 설정하고 있습니다 xinput float .... Linux 콘솔간에 전환하면 문제가 발생하지만 최소한 Xfce 설정에서이 장치를 사용 중지하면 다시 해결할 수 있습니다.)

당사 사이트를 사용함과 동시에 당사의 쿠키 정책개인정보 보호정책을 읽고 이해하였음을 인정하는 것으로 간주합니다.
Licensed under cc by-sa 3.0 with attribution required.