Aqua SKK を使う
日本語入力メソッドして、SKK を使いたい。(実は過去に一度使ったことがあるが挫折したので再挑戦)
Mac では Aqua SKK という実装があるのでそれを導入する。
環境
- OS X Yosemite: Version 10.10.3
- AquaSKK 4.2.5
SKK とは
Simple Kana to Kanji conversion program の略。形態素解析をユーザーが明示的に行うことで、変換ミスのストレスを軽減させることができるという非常にユニークな日本語入力メソッドだ。
詳しくは以下のリンク先を参照。
セットアップ方法
インストール
公式ページはこちら
だが、現在は GitHub 上で開発が進められている。 ここ
からダウンロード可能な最新版の dmg ファイルを実行するとよい。
インストールの完了にはログアウトが必要。
IME追加
- System Preferences -> Keyboard -> Input Sources と選択
- Japanese -> AquaSKK 統合を追加
- Command + Space で IME AquaSKK統合を有効化
AquaSKK のカスタマイズ
- メニューバー -> AquaSKK統合 -> 環境設定
- 入力設定 -> 入力操作: 「Enter による確定で改行しない」にチェックを入れると
より流れるようなタイピングができる - キーバインドの衝突の解消
- iTerm2: iTerm2/Apple TerminalでAquaSKKを使う - みずぴー日記
- 試してみたものの、統合モードのせいか、やはり iTerm2 の中で C-j が動作せず……
Sticky shift と SandS
SKK はシフトキーを多用する入力メソッドである。
そこで実際の SKK ユーザの大半は、シフトキーを押さなくてもシフトを実現できるような工夫をしている。
Sticky shift
特定のキーを押すことで、直後のキーを Shift オンの状態で入力できるようにする機能。
例えば、セミコロン「;」をスティッキーキーに指定した場合、「;foo;bar」と打鍵すると「FooBar」と入力されるようになる。(セミコロンなのは英語キーボードを使っているため)
Mac では、Karabiner (旧名 KeyRemap4MacBook) でその機能を実現できる。
- Karabiner - OS X用のソフトウェア
- Change Key -> For Japanese -> Change Semicolon(;) Key
-> Semicolon to Sticky Shift_L (effective only when input source is Japanese)
にチェックを付ければよい
- ただ、この場合 IME オンかつASCIIモードの場合にセミコロンを入力できなくなるのだが
どうしたらいいものか。
SandS
Shift and Space。スペースキーと同時に他のキーを押した場合に Shift オンの状態にする。
親指でシフトを押せるようになるのがポイントだが、試したことはない。
基本的な入力方法
この資料が素晴らしい。
かな入力モード
- 英数入力モード、全角英数入力モードで Ctrl-j
- q キーで「ひらがな」「カタカナ」を切り替え
- カタカナの入力自体は、読み入力モードで q を押すことでも対応可
英数入力モード
- かな入力モードで l
全角英数入力モード
- かな入力モードで Shift-L
読み入力(▽)モード
- 変換が必要な場合
- かな入力モードで Shift を押しながら単語の一打目を入力
- かな入力モードで Shift-Q
- かな入力モードで スラッシュ(/) を押すと英数字で読みを入力可能
- Ctrl-g でキャンセル
- Tab キーで見出し語の補完
- Space キーで変換モードへ
変換(▼)モード
- 候補送り: Space
- 候補戻り: x
- ユーザ辞書に登録した単語の削除: Shift-x
- 次の文字を入力するか、Ctrl-j で確定
- Ctrl-g で読み入力モードに戻る
単語登録
- 読み入力モードで候補送りし続ける
- クリップボードから貼り付け: Ctrl-y
- Ctrl-g で変換モードに戻る
変換ルール
- デフォルトのルール
$ cat /Library/Input\ Methods/AquaSKK.app/Contents/Resources/kana-rule.conf |nkf # $Id$ # このファイルは改行コードがLF、文字エンコーディングがEUC-JPでなければなりません。 # 五つ目の項目は次状態です。無ければ項目自体を省略します。 # エントリの順序には気を付けて下さい。例えば「ba」というエントリに出会うと、 # AquaSKKはまず「b」という枝を探しますが、ここではまだ存在しないので # 「b」という空の枝を作成します。この後に「b」というエントリが現れると # そのエントリ「b」は既に定義されているのでどうなるか分かりません。 # 最初の項目の,は半角カンマに置換されます。 a,あ,ア,ア bb,っ,ッ,ッ,b ba,ば,バ,バ bi,び,ビ,ビ bu,ぶ,ブ,ブ be,べ,ベ,ベ bo,ぼ,ボ,ボ (snip) ...
- ぁぃぅぇぉっ: xa xi xu xe xo xtu
- ‥ … ・ 〜 『 』: z, z. z/ z- z[ z]
- ← ↓ ↑ →: zh zj zk zl
辞書の拡張
このあたりを使うと便利そう。