X11에서 키매핑

상황을 설명해 볼께요.

1 X11을 데스크탑으로 쓰고 있어요.

2 어쩌다 해피 스타일 키보드가 들어 왔어요. 근데 어쩌나 이놈은 fn키가 없네요.^^;;

3 하고 있는 작업의 성격이 F1-F12까지 키를 자주 눌러야 해요.


A 여러가지 방법이 가능해요. 하지만 여기에서는 xmodmap이란 녀석을 쓰기로 해요.


B fn키 대신 쓸 키를 골라봐요. 여기에서는 오른쪽 Alt를 쓰기로 해요.


C xmodmap 이라고 치면 현재의 modifier키가 어떤식으로 쓰이는지 보여줘요. 예를 들면 다음과 같아요.


shift       Shift_L (0x32),  Shift_R (0x3e)
lock        Caps_Lock (0x42)
control     Control_L (0x25),  Control_R (0x69)
mod1        Alt_L (0x40),  Alt_R (0x6c),  Meta_L (0xcd)
mod2        Num_Lock (0x4d)
mod3     
mod4        Super_L (0x85),  Super_R (0x86),  Super_L (0xce),  Hyper_L (0xcf)
mod5        ISO_Level3_Shift (0x5c),  Mode_switch (0xcb)

주목해서 봐야할것이 fn대신 쓸 오른쪽 Alt가 mod1그룹에 속해 있는것이에요.


D 다음에 xmodmap -pke 를 치면 현재 키맵이 줄줄이 나와요. 예를들면 아래와 같아요.


keycode  10 = 1 exclam 1 exclam
keycode  11 = 2 at 2 at
keycode  12 = 3 numbersign 3 numbersign
keycode  13 = 4 dollar 4 dollar
keycode  14 = 5 percent 5 percent
keycode  15 = 6 asciicircum 6 asciicircum
keycode  16 = 7 ampersand 7 ampersand
keycode  17 = 8 asterisk 8 asterisk
keycode  18 = 9 parenleft 9 parenleft
keycode  19 = 0 parenright 0 parenright
keycode  20 = minus underscore minus underscore
keycode  21 = equal plus equal plus

<중간 생략>

keycode 108 = Alt_R Meta_R Alt_R Meta_R

<다시 또 생략>

이걸 리다이렉트해서 파일로 저장한 다음 편집 하는 게 쉽겠죠.^^;;


E 이제 xmodmap용 파일을 만들어 봐요. 파일 이름은 아무 이름이나 상관 없지만 .xmodmap-h라고 해봐요.


keycode  10 = 1 exclam F1
keycode  11 = 2 at F2
keycode  12 = 3 numbersign F3
keycode  13 = 4 dollar F4
keycode  14 = 5 percent F5
keycode  15 = 6 asciicircum F6
keycode  16 = 7 ampersand F7
keycode  17 = 8 asterisk F8
keycode  18 = 9 parenleft F9
keycode  19 = 0 parenright F10
keycode  20 = minus underscore F11
keycode  21 = equal plus F12

keycode 108 = Mode_switch NoSymbol

clear mod1

add mod1 = Alt_L


F 이제 작성한 파일데로 키맵을 재정의 해봐요.


xmodmap .xmodmap-h


G 잘 되나 시험해 보세요.

댓글 7
제로록 2011-07-27 09:18

비정규직 정신 노동자님.. 좀 어렵습니다.

Xmodmapdl anjswl ahffkTtmqslek.

http://cafe.naver.com/jungboboan.cafe?iframe_url=/ArticleRead.nhn%3Farticleid=2331&

조금 참고가 되는군요 .

무쌍 2011-07-27 09:25

애를 들면 다음과 같아요.


==>


애들 들고 내려 놓을실때는 조심하세연

ghostrr 2011-07-27 14:00
감사합니다~ 그렇지않아도 최근 리눅스에서 caps lock과 ctl키를 바꾸려고 방법을 찾아보던 중이었는데 한번 시도해봐야겠네요.
예전에 한글키와 한자키를 리매핑할때도 썼던 방법같은데 생각도 못하고있었네요^^ 감사합니다~
이상한나라의동화 2011-07-27 16:06

고맙습니다. 고쳐 놓았습니다.

이상한나라의동화 2011-07-27 16:09

도움이 되어서 기쁩니다. keycode 재 정의하시고 아래를 덧붙여 주시면 될 것 같습니다.


clear lock

clear control

add lock = Caps_Lock

add control = Control_L


혹은 우분투 그놈 데탑을 쓰신다면 메뉴바에서 시스템->기본설정->키보드 누르면 나오는 다이알로그 박스에서 키배치 탭을 눌러주시고 옵션 버튼을 눌러주시면 다이알로그 박스가 나오는데 거기서 Ctrl 키 위치를 고르시고 적절히 선택하시고 닫기 버튼을 눌러주세요.

이상한나라의동화 2011-07-27 16:16

오디언스가 제한되어 있어서 X11 window를 데탑으로 쓴다면 xmodmap은 알 것이라 생각했습니다. (UNIX를 액티브하게 사용하는 분이었다면 man xmodmap명령으로 Read The F***ing Manual 했을 꺼에요.ㅎㅎ) 이글은 테크니컬한 문서로 보기엔 많이 부족하고 일반인 보기엔 조금 꺼림직한 글 맞아요. UNIX동네엔 뭐 이런게 있노 할꺼구요. 당연히 "그딴 키보드 버려"란 소리 나오겠죠. 딱히 "배설"할 곳이 이런데 말고는 없는 것 같아요.^^

ghostrr 2011-07-28 03:36
잘 되네요~ 감사합니다~^^