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


13

xmodmap으로 키보드를 다시 매핑 한 후 몇 가지 문제가 발생했습니다. 적용 후 2-20 분 후에 설정이 임의로 재설정됩니다. 구글은 도움이되었지만 도움이되지 않았습니다 : 재설정 된 것이지만 모든 언급은 xfce에 적용되며, 통일 14.04 우분투에 있습니다.

'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"

키 코드는 numlock = off 인 숫자 키패드의 해당 키입니다 (기본적으로 KP_Del을 Delete, KP_Home을 Home 등으로 바꾸고 있습니다-이유는 묻지 않습니다)

누군가 xkb를 사용하여 그 방법을 찾는 데 도움이 될 수 있습니까? 그리고 다른 키의 "이름"을 어디에서 찾을 수 있도록 나머지는 예제로 볼 수 있습니까?


5
네. 정확히 같은 문제가있었습니다. rlog.rgtti.com/2014/05/01/…askubuntu.com/questions/422650/…을 참조하십시오 . xkb시스템 파일을 다시 쓰지 않고 사용하는 방법을 찾을 수 있다면 여기에 답을 쓰십시오.
Rmano 2016 년

와우-마지막으로 일을 더 명확하게하는 xkb remap 안내서 ...하지만 Home, Delete 및 Up- & Down-arows를 다시 매핑하는 것에 대해서는 볼 수 없습니다. 그것은 항상 그리스어 또는 스페인어 문자에 관한 것입니다. (여기에서 조리법 # 3 내 xmodmap을 설정을 오버라이드 (override)에서 시스템을 막으려 - 지금까지 나는 다른 방법으로 갔다 programmingiroiro.blogspot.com/2013/03/... )
덴 Drobiazko을

1
나쁜 생각-그 후 레이아웃 전환이 불가능합니다 (
Den Drobiazko

답변:


4

비슷한 문제에 대한 내 대답에서 볼 수있는 일반적인 아이디어를 따를 수 있습니다 . 그래도 여전히 레이아웃 전환을 원한다면 ( 아직 고장이 나더라도 ) 새로운 레이아웃 또는 변형을 정의 해야 합니다 .

키패드 편집을 위해 복사하고 수정하기위한 템플릿은 찾기가 쉽지 않습니다. 예를 들어 키보드에서 형상은 "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 */
[...]

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

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