前の記事はこちら 親指シフトキーボードプロジェクト その17 - Re: The history of "M&Y"
この、親指シフトキーボードのシリーズも続いていますねぇ・・・
私自身も驚いてます。
前回、左シフト+「1」で半角の「?」が表示されるのを全角にできないか・・・というところで終わったので、継続して研究しています。
研究の結果・・・変更することができました。
変更点は
C:\Users\(ユーザー名)\qmk_firmware\users\nicola\nicola.c
void nicola_om_type(void) { の
case NG_1 : send_string(SS_ALNUM(SS_LSFT(SS_TAP(X_SLASH)))); break;
を
case NG_1 : send_string("?"); break;
に変更しました。
どうも、SS_ALNUM( )という関数が、半角の入力なんじゃないかと・・・(あくまで推測 笑)
同様に、左シフト+「3」の「~」も全角の「~」になるように変更しました。
左シフト+「2」の「/」は、そのままにしました。(全角にすると全角のスラッシュ「/」ではなく「・」になっちゃうので)
これができるようになると、さらにいろいろと変更したくなります。
右シフト+9が「(」、右シフト+0が「)」だったのですが・・・英字モードに合わせて8キーと9キーにしました。(0キーは「*」)
さらに・・・親指シフトモードの解除時に確実に英字モードに戻るように。
send_string(SS_TAP(X_KANA)); // Win
send_string(SS_TAP(X_GRV)); // Win
という感じで、「ひらがなキー」と「英数キー」を順に送信するようにしました。
でも・・・たまに、PCとキーボードのモードズレが発生します。
(それは仕方がないのでしょうね)
例えば・・・
メモ帳を起動します。
親指シフトモードにして全角文字を入力します。
(親指シフトモードのまま)メモ帳を閉じます。
もう一度メモ帳を起動します。
メモ帳に入力しようとすると、キーボードは親指シフトモードのままなのに、メモ帳は(PC側は)英字モードなので、変な英字が入力されます。(例えば「こんにちは」と打つと「konnnitiha」と表示されます)
Windows10 では、アプリを起動するごとに、英字モードに戻る(リセットされる)ようです。
(これ、今まで、全く意識してませんでした・・・)
このモードズレはどうすることできないので、ズレたら素直に、親指シフトモードONにするかOFFの操作をします。(PCのモードをキーボード側が検知する仕組みってあるのでしょうか !?)