====== Linux XKB ======
* [[http://www.x.org/wiki/XKB/|XKB]]
* [[https://wiki.archlinux.org/index.php/X_KeyBoard_extension|X KeyBoard extension]]
* [[https://wiki.kldp.org/wiki.php/XKBConfiguration|KLDPWiki: XKB Configuration]]
===== XKB 계정별 설정하기 =====
* [[http://zapary.blogspot.kr/2014/08/ubuntu-xkb-keyboard-map.html|Umundu's Zapary: Ubuntu XKB를 이용한 keyboard map 확장]]
* ''~/.xkb/{symbols,keymap}'' 디렉토리를 생성한다.
mkdir -p ~/.xkb/{symbols,keymap}
* ''symbols''에 심볼 선언을 넣는다.
* ''keymap''에 매핑 정보를 넣는다.
setxkbmap -print > ~/.xkb/keymap/hangul.xkb
* ''.xkb''를 로딩하려면
xkbcomp -I$HOME/.xkb ~/.xkb/keymap/hangul.xkb $DISPLAY
===== Ubuntu Right Alt, Right Ctrl 을 한/영, 한자 키로 만들기 =====
* Ubuntu 에서는 이미 Right Alt, Right Ctrl 에 대한 한/영, 한자 키 매핑이 이미 ''/usr/share/X11/xkb/symbols/kr'' 에 심볼 선언이 들어있다.
partial hidden function_keys
xkb_symbols "koreankeys_raltctl" {
key { [ Hangul ] };
key { [ Hangul_Hanja ] };
};
* ''~/.xkb/keymap/hangul.xkb''로 현재 매핑을 저장하고,
setxkbmap -print > ~/.xkb/keymap/hangul.xkb
* ''hangul.xkb'' 파일에 ''xkb_symbols'' 끝에 ''kr(koreankeys_raltctl)'' 부분을 추가한다.
xkb_keymap {
xkb_keycodes { include "evdev+aliases(qwerty)" };
xkb_types { include "complete" };
xkb_compat { include "complete" };
xkb_symbols { include "pc+us+inet(evdev)+terminate(ctrl_alt_bksp)+kr(koreankeys_raltctl)" };
xkb_geometry { include "pc(pc105)" };
};
* 이를 매번 로딩한다.
xkbcomp ~/.xkb/keymap/hangul.xkb $DISPLAY
* 시작프로그램으로 다음과 같이 등록하고 1초 정도 지연을 줘서 실행시켜도 된다.
/usr/bin/xterm -e 'xkbcomp ~/.xkb/keymap/hangul.xkb $DISPLAY'
* 이제 [[linux:inputmethod|Input Method (입력기, 한글)]]에서 ''hangul''과 ''hangul-hanja''를 전환키로 설정한다.
===== 참조 =====
* [[https://www.linux.com/tutorials/hacking-your-linux-keyboard-xkb/|Hacking Your Linux Keyboard with xkb - Linux.com]]