前の記事はこちら 親指シフトキーボードプロジェクト その14 - Re: The history of "M&Y"
既存の製品のキーボードだと不満点があっても変更や改造が(安易に)出来ないので、そのまま使うしかないのですが・・・自作キーボードだと、自由にカストマイズできるので、どんどん自分好みのものに改造できるのが良いですよね。
今回の改造(改善⁉ それとも改悪⁉)は・・・
右シフトキーと左シフトキーの変換/無変換です。
私はてっきり右シフトが変換で、左シフトが無変換だと思っていました。
しかし、現状の設定では右シフトも左シフトも変換になっていました。
例えば
「あい」と入力して右シフトを押すと、「愛」に変換されて、さらにもう一度右シフトを押すと、読みが「あい」の漢字がずらっと並びます。同じ操作を左シフトを押しても同様の結果になります。
私としては・・・左シフトは「無変換」なので・・・「あい」が「アイ」「アイ」「あい」になって欲しいです。
ということで早速改造です。
設定ファイルやソースファイルを調べたのですが・・・さっぱり分かりません。(苦笑)
どこかに ”KC_HENK” を送っているような場所があるかと思ったのですが・・・
で、苦労して見つけたのかここ
C:\Users\(ユーザー名)\qmk_firmware\users\nicola\nicola.c
の
void nicola_o_type(void) {
if(nicola_o_key != 0) {
send_string(" ");
}
}
この send_strig で送っている半角の空白が「変換」に当たるのではないかと・・・
(スペースバーで漢字変換しますよね!)
で・・・これを、右シフトを押すと半角空白を送る、左シフトを押すと「無変換」を送るように変更してみます。
void nicola_o_type(void) {
if(nicola_o_key == NG_SHFTR) {
send_string(" ");
}
else {
send_string(SS_TAP(X_MHEN));
}
}
これで右シフトでは半角空白、左シフトでは「無変換」を送るようになりました。
これで、私の想定した動作をするようになったのですが・・・
逆に漢字変換は右シフトキーでしかできなくなったので、これはこれで使いにくいかなぁ・・・
まあ、少しこの設定で使ってから考えよう・・・
で・・・この設定使ってみると・・・漢字変換中(未確定状態)では「変換」「無変換」が良い感じなのですが・・・漢字変換中でない場合は右シフトも左シフトも「空白」になって欲しいのです、「無変換」に設定してしまった左シフトが「空白」になりません。
う~ん
左シフトキーを、漢字未確定の時は「無変換」で、漢字確定後は「空白」になるように設定できませんかねぇ・・・
しばらく、上の設定で使用したのですが・・・左シフトが「空白」にならないのと、やっぱり左シフトで漢字変換ができないのが不便なので(慣れかもしれませんが)元に戻しました。
(元に戻した、というのは、左シフトも ” ” を送るようにした)
こうやってカット&トライができるのも自作キーボードの良いところですね。
さて、もう一つの改造は・・・
現状の設定では「FN+右シフト」で親指シフトモードに入ります。そして(これは私の設定ですが)普通に「ひらがな」キーで日本語モード(ローマ字変換)になります。今後どちらをメインに使うのかですか、親指シフトをメイン に考えると「FN+ひらがな」が日本語モード(ローマ字)で単に「ひらがな」キーで親指シフトモードになるように変更しました。
ということで、日本語関係は以下の5つのキーに集約されました。
【親指シフトモード】
右シフトの右 親指シフトモードにして「ひらがな」にする
右スペース(右シフト) 変換
左スペース(左シフト) 変換
左スペースの左 無変換
左スペースの左の左 英字モードに戻る
【ローマ字変換モード】
FN+右シフトの右 ローマ字変換モードにして「ひらがな」にする
右スペース 変換
左スペース 変換
左スペースの左 無変換
左スペースの左の左 英字モードに戻る
現状はこんな設定にしました。
昔・・・ローマ字変換モードのことを Rカナ と言っていたのを思い出しました。
就職したての頃に「おまえ、Rカナ なんか使ってるんじゃないよ!」と親指シフターの先輩から怒られたものです・・・(笑)