CapsLock을 마우스 왼쪽 버튼으로 사용하면 대부분 작동하지만 몇 가지 기능이 실패합니다.

CapsLock을 마우스 왼쪽 버튼으로 사용하면 대부분 작동하지만 몇 가지 기능이 실패합니다.
Linux System Info:
OS:        GNU/Linux x86_64
Kernel:    3.13.0-24-generic
Distro:    Linux Mint 17 Qiana, Cinnamon 64-bit 2.2.16
           [Based On: Ubuntu 14.04.5 LTS, Trusty Tahr]

손가락 부상(척추 부상) 등의 장애로 인해 키보드의 CapsLock 키를 마우스 왼쪽 버튼으로 사용할 수 있도록 일부 수정하였습니다. NumLock은 CapsLock 기능으로 다시 매핑됩니다.

왼쪽 클릭 및 왼쪽 더블 클릭에 CapsLock을 사용하면 거의 모든 것이 잘 작동하지만 아래 나열된 일부 사례는 그렇지 않습니다.

2019-01-10 수정

긴 게시물의 나머지 부분은 삭제되었습니다. CapsLock 키를 마우스 왼쪽 버튼으로 설정하고 NumLock을 CapsLock으로 다시 매핑하는 방법에 대한 아래 답변을 참조하세요.

답변1

내 질문에 대답하려면 ...

CapsLock을 마우스 왼쪽 버튼으로 설정하는 것은 예상보다 훨씬 간단하다는 것이 밝혀졌습니다. [참고: 물리적 왼쪽 마우스 버튼은 계속해서 정상적으로 작동합니다. ]

  1. CapsLock을 마우스 왼쪽 버튼에 매핑합니다(66은 CapsLock 키 코드입니다).

    $xmodmap -e "키코드 66 = Pointer_Button1"

  2. NumLock을 CapsLock에 매핑합니다(77은 NumLock 키 코드입니다).

    $ xmodmap -e "키코드 77 = Caps_Lock"

참고: 이는 NumLock이 CapsLock 대체 키 역할을 하고 NumLock의 기능이 손실된다는 것을 의미합니다. (어차피 사용하지 않겠지만 NumLock을 사용하는 경우 Pause, ScollLock 등과 같은 다른 키를 사용하십시오.)

  1. 마우스 키 활성화:

    $ xkbset 마우스 키

참고: xkbset은 시스템 설정의 접근성 섹션에서 마우스 키를 활성화하는 것과 달리 일부 배포판에서는 기본적으로 설치되지 않습니다.

그게 다야 - 다 끝났어.


그러나 사용자는 시작 시 이러한 작업을 자동으로 완료하기를 원할 수 있습니다. 이것이 내가 한 일입니다:

일반 파일을 만들고 /home/user/.Xmodmap다음 줄을 삽입합니다.

! 77 is the NumLock key code, 66 is the CapsLock key code.
! Map CapsLock to the left mouse button and map NumLock to
! CapsLock, i.e. NumLock acts as the CapsLock key used to.

keycode 77 = Caps_Lock
keycode 66 = Pointer_Button1

참고: .Xmodmap파일의 주석은 !.

부팅 시 xmodmap을 실행하여 파일을 로드하는 것은 확실히 예상보다 어렵다는 것이 밝혀졌습니다 ~/.Xmodmap. 문제는 부팅 시퀀스의 맨 마지막에 이 작업을 수행해야 한다는 것입니다. 그렇지 않으면 XKB가 시작되지 않고 XKB가 xmodmap 변경 사항을 덮어씁니다. 길 위에.

라인 배치...

/usr/bin/xmodmap /home/user/.Xmodmap
/usr/bin/xkbset mousekeys

... , ~/.profile, ~/.xinitrc에서 ~/.xsessionrc실패했습니다 .

/etc/X11/Xsession.d/80_xmodmap_user_added제안된 대로 위 명령을 실행하는 파일을 만듭니다 .Ubuntu 16.04에서 키를 지속적으로 다시 매핑하는 방법은 무엇입니까?나에게 적합하지 않습니다.

나는 마지못해 Linux Mint에서 다음과 같은 그래픽 실행 도구를 사용했습니다(배포판은 다를 수 있음).

Mint Menu --> Preferences --> Startup Applications

다음 명령을 각각 호출하는 항목 2개를 만들었습니다.

/usr/bin/xmodmap /home/user/.Xmodmap
/usr/bin/xkbset mousekeys

참고로 시작 응용 프로그램 항목에서 자동 시작 지연을 설정할 필요는 없지만 그래도 효과가 없으면 지연을 추가해 보세요. 명령을 실행하기 전에 XKB를 시작해야 합니다. 그렇지 않으면 변경 사항이 XKB로 덮어쓰여집니다.

이 모든 것이 나에게 완벽하게 작동합니다. CapsLock은 시작 시 왼쪽 마우스 버튼(한 번 클릭과 두 번 클릭 모두) 역할을 합니다.

편집하다: CapsLock을 켜고 끄기 위해 수정자 키를 눌러야 하는 것을 꺼리지 않는 사용자는 CapsLock을 마우스 왼쪽 버튼에 할당하고 다음 줄을 사용하여 CapsLock 토글을 Shift+CapsLock에 할당할 수 있습니다. 이 경우 CapsLock 토글을 NumLock 키에 할당할 필요가 없습니다(Akhil의 매우 유용한 의견에서 제안됨).

keycode 66 = Pointer_Button1 Caps_Lock

관련 정보