Fcitx에서 세벌식 & Dvorak 사용하기

이번에 ibus가 업데이트(개악?)되서 이것저것 바뀐거 깜빡 까먹고 13.10으로 업그레이드 했습니다.

일본어·한국어·영어(dvorak&qwerty)를 왔다갔다 사용해야 하는 환경인데, 이번에 바뀐 ibus는 사용하기 힘들어서 한번 fcitx로 옮겨와 봤습니다.

그런데, fcitx에 버그(혹은 사양?)가 있어서 포기하려고 합니다.
uim은 아직 써 본적이 없으니, 세벌식이 잘 지원되면 그쪽으로 옮겨 보는것도 좋을듯 하네요.

현재 필요한 환경은

  1. 일본어(by dvorak) <-> dvorak
  2. 한국어(세벌식) <-> dvorak
  3. 가끔씩 qwerty입니다.

처음에는 시스템 키보드 레이아웃이 반영되지 않는 (것 같은)데다, layout change용의 hotkey도 반영이 안되는 상황이었기에,
10시간쯤(…) 이것저것 만져보다가 단순히 시스템쪽의 keyboard layout을 재설정하니까 hotkey가 반응하기 시작해서 해결됬다고 생각했습니다.

그런데, 이게 해결되고나니까, fcitx가 이상한 동작을 하고 있는 것을 알게 됬습니다.

처음에는 system keyboard layout이 반영이 안됬다고 생각했습니다만, 그게 아니라,
(아마도) fcitx가 계속 system keyboard layout을 default keyboard layout(지금은 dvorak)으로 바꾸고 있는 겁니다.
즉, dvorak이 기본인 제 시스템에서라면, 시스템상의 hotkey로 dvorak -> qwerty로 바꾸더라도,
‘특정한 조건’ 하에 다시 qwerty -> dvorak으로 layout을 바꿉니다.

'특정한 조건’이란,

  1. 입력기 상태를 active(한글) -> inactive로 바꾸고,
  2. 다시 inactive -> active(한글)로 바꾸고,
  3. 한글(기호 말고, 진짜 한글)을 입력하려는 순간,
    keyboard layout이 system default keyboard layout으로 바뀝니다.
    다만, 아무것도 안 입력하거나, 기호만 입력하고서 inactive상태로 바꾸면 기존의 keyboard layout은 바뀌지 않습니다.

즉, 영어를 입력하다가 한글을 입력하려면, 매번 hotkey로 layout도 바꿔줘야 한다는 것인데…

이 버그(?)는 비록 한글 뿐만이 아니라, 일본어 입력기에서도 동일한 현상이 일어나는 것을 확인했습니다.
일본어 입력의 경우에는 문제도 안되고, 바꿀 일도 없었기에 눈치채지도 못했습니다만…

X keabord integration 설정도 만져는 봤습니다.
옵션 중에 'Allow to Override system XKB Settings’나
'Use the layout of first keyboard input method in list as default layout’이 두가지가 문제인가 해서,
input method 순서와 옵션 선택의 가능한 모든 조합으로 설정해서,
fcitx를 몇번이나 restart해 봤습니다만, 위에서 말한 버그는 해결되지 않았습니다.
즉 체크가 되어있거나 말거나 ‘특정한 조건’ 하에 system keyboard layout을 다시 default keyboard layout으로 바꾸고 있습니다.

혹시나 해서 createsc님의 수정본을 빼고, 원본도 설치해봤습니다만, 동일한 현상이네요.
잘 좀 정리해서 버그리포트를 보내보아야겠습니다만, 이게 원래부터 이렇게 동작하게 설계된것일 가능성이 있을까요?

한국어만 쓸 거면, 다른 간단한 한글 전용 입력기를 사용해도 되겠지만, 일본어 쓰는 일이 훨씬 더 많은지라 uim을 한번 테스트해봐야 할 듯 합니다.

uim에는 최소한 fcitx같은 해괴한 버그는 없는 듯 하군요.
다만, 옛날 ibus-hangul처럼 dvorak같이 다른 keyboard layout을 사용하면 엉키니까,
한글 사용할때마다 qwerty배열로 바꾸어야 하지만요.
그때는 floor/createsc님이 만드신 dvorak 대응 패치가 있었지만요.

이건 버그…는 아니지만, 어쨌거나 리포트는 해봤습니다.

https://bugs.freedesktop.org/show_bug.cgi?id=71671

끔찍한 영어를 써 버린 것 같은데, 뜻이 통하련지…

저는 64 Bit 13.10 을 씁니다. UEFI 부팅 화면에서는 언어와 자판을 개별적으로 다르게 설정해 줄 수 없으므로 아예, 영문 상태로 설치해 버렸습니다. 그래서 최초 부팅 때에 Default 자판이 Dvorak 이 되어 버렸지요. 맨 윗 줄에 "English (Dvorak)", 둘째 줄에는 쿼티 자판이 자리하고 있었지요. 그래도 Super + Space 조합은 먹지 않더군요. 그래서 Ctrl + Space 로 바꿨습니다. 지금은 드보락과 세벌식 자판을 잘 쓰고 있습니다.