간단한 재매핑을 위해 setxkbmap 사용(xmodmap과 유사)

간단한 재매핑을 위해 setxkbmap 사용(xmodmap과 유사)

xmodmap으로 키보드를 다시 매핑한 후 몇 가지 문제에 직면했습니다. 적용 후 2~20분 후에 설정이 무작위로 재설정됩니다. Google에서 검색했지만 도움이 없습니다. 무언가가 재설정되었지만 모든 언급은 xfce에 적용되는 반면 저는 일반적인 14.04 Ubuntu를 사용하고 있습니다.

'xkb를 사용하고 xmodmap은 잊어버리세요'와 같은 문구를 보았지만 여전히 어떻게 해야 할지 모르겠습니다. 정보의 양이 xmodmap 방식보다 훨씬 적기 때문에 분류되거나 매우 복잡합니다.

내 사용자 정의 목록은 다음과 같습니다.

xmodmap -e "keycode 84 = Down"
xmodmap -e "keycode 79 = Home"
xmodmap -e "keycode 80 = Up"
xmodmap -e "keycode 83 = Left"
xmodmap -e "keycode 85 = Right"
xmodmap -e "keycode 87 = End"
xmodmap -e "keycode 90 = Insert"
xmodmap -e "keycode 91 = Delete"
xmodmap -e "keycode 89 = Next"
xmodmap -e "keycode 81 = Prior"

여기서 키코드는 numpad의 해당 키이고 numlock = off입니다(기본적으로 KP_Del을 삭제로 바꾸고 KP_Home을 Home으로 바꾸는 등 - 이유는 묻지 마세요).

누군가 xkb를 사용하여 이를 수행하는 방법을 찾는 데 도움을 줄 수 있습니까? 적어도 하나의 행이 있습니까? 그리고 예를 들어 나머지 작업을 수행할 수 있도록 다른 키의 "이름"을 어디서 찾을 수 있습니까?

답변1

다음에서 볼 수 있는 일반적인 아이디어를 따를 수 있습니다.비슷한 문제에 대한 내 대답; 여전히 레이아웃 전환을 원하는 경우(비록아직도 꽤 깨졌어) 당신은해야새 레이아웃 또는 변형 정의.

키패드 편집을 위해 복사하고 수정하는 템플릿은 찾기가 약간 어렵습니다. 예를 들어 내 키보드에서 기하학은 "pc105"입니다. 이는 에 정의되어 있습니다 /usr/share/X11/xkb/symbols/pc. 따져보면 그렇죠포함하다:

[...]
key <SPCE> {        [        space          ]       };

include "srvr_ctrl(fkey2vt)"
include "pc(editing)"
include "keypad(x11)"

key <BKSP> {        [ BackSpace, BackSpace  ]       };
[...]

키패드는 파일에 정의되어 있습니다./usr/share/X11/xkb/symbols/keypad

[...] 
default  partial hidden keypad_keys
xkb_symbols "x11" {
   include "keypad(operators)"

   key  <KP7> {        [  KP_Home,     KP_7    ]       };
   key  <KP8> {        [  KP_Up,       KP_8    ]       };
[...]

키 기호(keysims)의 이름을 확인하기 가장 좋은 곳은 파일입니다 /usr/include/X11/keysymdef.h. 이를 사용하려면 개발 패키지를 설치해야 할 수도 있습니다(또는 를 설치하여 설치 x11proto-core-dev).

[...]
/* Cursor control & motion */

#define XK_Home                          0xff50
#define XK_Left                          0xff51  /* Move left, left arrow */
#define XK_Up                            0xff52  /* Move up, up arrow */
[...]

키심 이름은 "XK_" 문자열을 제거한 이름입니다.

관련 정보