====== 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]]