1 minute read

작성중

ibus 단독 설정 GUI만으로는 “한/영 키 + K” 조합을 바로 단축키로 등록할 수 없습니다. 한/영 키는 애초에 토글 기능으로만 동작하며, ibus-setup에서 지원하는 단축키 목록에도 Mod( Ctrl, Alt, Super, Shift ) 계열만 등록 가능하기 때문이죠.

하지만 다음과 같은 방법으로 한/영 키를 일종의 모디파이어(Modifier) 로 재매핑한 뒤, xbindkeys(또는 sxhkd 같은 글로벌 핫키 데몬)로 “한/영+K → 한글 모드 전환”을 처리할 수 있습니다.

xev로 키 확인

# Debian/Ubuntu 계열
sudo apt update
sudo apt install x11-utils

# Fedora/RHEL 계열
sudo dnf install xorg-x11-utils

# Arch Linux
sudo pacman -S xorg-xev

# 키보드만
xev -event keyboard
# 마우스만
xev -event button

흰색버그걸린 것 같은 창과 터미널이 같이 보이게 열어놓고 버그화면에 포커싱 후 키보드 마우스 연타


1. 한/영 키를 Mod5 (ISO_Level3_Shift)로 재매핑하기

  1. 터미널에서 xev를 실행한 뒤, 키보드를 눌러 한/영 키의 keycode 를 확인합니다.

  2. ~/.xmodmap 파일을 열어(없으면 새로 만들고) 다음을 추가하세요.

! 예: keycode 121 은 xev 로 확인한 한/영 키의 keycode 로 교체
keycode 130 = ISO_Level3_Shift
add Mod5 = ISO_Level3_Shift
  1. 로그인 시 자동 로드되도록 ~/.xsessionrc (또는 데스크탑 환경 자동 실행 스크립트)에 아래 한 줄을 추가:

     [[ -f ~/.xmodmap ]] && xmodmap ~/.xmodmap
    

이제 한/영 키가 Mod5(세 번째 레벨 시프트 역할)로 동작합니다.


2. xbindkeys 로 “Mod5+K” 에 명령 걸기

  1. xbindkeysxbindkeys-config(GUI) 또는 에디터를 설치:

     sudo apt install xbindkeys xbindkeys-config
    
  2. 홈 디렉터리에 기본 설정 생성:

     xbindkeys --defaults > ~/.xbindkeysrc
    
  3. ~/.xbindkeysrc 를 열어 끝에 아래를 추가하세요:

     # Mod5 (한/영) + k → 한글 엔진
     "ibus engine hangul"
         Mod5 + k
        
     # Mod5 (한/영) + l → 영어(US) 엔진
     "ibus engine xkb:us::eng"
         Mod5 + l
    
  4. xbindkeys 실행 (로그인 시 자동 시작에 등록해 두면 편리합니다):

     pkill xbindkeys; xbindkeys
    

이제 한/영 키(이제 Mod5) + K, L 조합으로 각각 한글/영문 고정 전환이 가능합니다.


대안: sxhkd 사용하기

xbindkeys 대신 sxhkd 를 쓰면, 좀 더 단순하게 설정할 수 있습니다.

  1. 설치:

     sudo apt install sxhkd
    
  2. ~/.config/sxhkd/sxhkdrc 에 아래 라인 추가:

     # 한/영 + k
     Mod5 + k
         ibus engine hangul
        
     # 한/영 + l
     Mod5 + l
         ibus engine xkb:us::eng
    
  3. sxhkd & 또는 로그인 시 자동 실행에 등록.


이 두 방법 모두 한/영 키를 모디파이어(ISO_Level3_Shift)로 재정의 하고, 글로벌 핫키 데몬으로 조합 키를 가로채서 ibus engine … 명령을 실행하는 방식입니다.
이렇게 하면 “토글 단축”이 아닌 “한/영 + K/L → 고정 전환”이 가능해집니다.

Updated: