Haiku OS のキーマップ

Haiku OS のキーマップは独自のフォーマットで定義されており、バイナリフォーマットへ変換して利用します。

以下のディレクトリに OS に含まれているキーマップファイルがあります。これを元に独自のキーマップを作成します。

キー定義の各列は以下のような意味です。

# Key 
n: 通常 s: Shift c: Command o: Option os: Option + Shift 
C: CapsLock Cs: CapsLock + Shift Co: CapsLock + Option Cos: CapsLock + Option + Shift

Japanese.keymap には無変換と変換キーが含まれていません。以下のファイルを参考にして無変換キーのキーコード 0x6c と変換キーのキーコード 0x6d にコードを割り振ります。

特殊なキーのコードは InterfaceDefs.h ファイルで定義されていますが、無変換と変換キーのコードは定義されていません。半角/全角キーなどを参考にして適当に割り当てます。ここでは、無変換を 0xf4、変換を 0xf5 としました。

Key 0x6c = 0xf4   0xf4 ... 以下略
Key 0x6d = 0xf5   0xf5 ...

keymap プログラムで keymap ファイルをバイナリに変換します。バイナリを /boot/home/config/settings/Keymap に配置するとキーマップの設定プログラムから選択できるようになります。以下のようにして変換します。

/bin/keymap -o Japanese106 -c Japanese106.keymap

keymap プログラムを -s オプションを付けて実行すると変換せずに現在のキーマップとして読み込みます。設定が置き換わるわけではないので、再起動すると元に戻ります。

無変換と変換キーはデフォルトでサポートされていないため、StyleEdit などで間違えて押すと変な文字が入力されてしまいます。

変換と無変換キーを定義してやると Mozc でも利用できますが、対応していないエディタでは文字化けして文字コードが入力されてしまいます。