その後、2.5にバージョンアップする作業の中で、数字シフトにスペースキー同時押しを、全てのキーに割り当てることを考えました。
QWERTYの上段キーは、カッコ類でカーソルを中に入れるという仕様を考えていましたが…
で挟む作業って、ほとんど考えられないので、もっと役に立つものを考えると、意外にカッコ類は多いことに気が付きました。
1.QWERTY上段キーの仕様
ということで、カッコ類をできるだけ集めてみました。
【】、””、『』、《》、〈〉、()、{}、〔〕
入力しにくいものもあるので、普段は【】、『』、()、{}ぐらいしか使わないです。
《》、〈〉、〔〕は、簡単に入力できるようになったので、これから使って見ようと思います。
ちなみに、カッコ類にはそれぞれ読みがあって…
【】:隅付きカッコ
〈〉:山カッコ 《》:二重山カッコ
〔〕:亀甲カッコ
これらには、特に用法はないとのことですので、文書の中でルールを決めて使い分けるのが良いようです。
これらは、数字シフトキーとスペースキーを同時押しして入力1のキーを押すと出力S1が出力されます。
ここで、単にカッコ類を入力するのも面白くなかったので、今までできなかった機能に挑戦してみました。
それは、あらかじめ文字列を選択している状態のときに、指定したカッコで選択範囲を囲むという機能です。
この機能の実装の難しさは、クリップボードに影響を与えないようにすることと、なにも文字を選択していないときの動作も同時に実現することでした。
具体的には以下のような流れで実装しました。
(1)クリップボードの内容を変数に覚えておく
(2)クリップボードをクリアする
(3)Ctrl+Cを送る
(4)処理
クリップボードの変化があった場合(文字列を選択している場合)
カッコを出力して、左にカーソル移動してから文字列を貼り付けて、再びカーソルを右に移動する
クリップボードに変化が無かった場合(文字列を選択していなかった場合)
カッコを出力してカーソルを左に移動する
実際には、この処理に加えて、IMEの状態に応じて適宜Enterキーを送信するといった手順でした。
2.ASDFG中段キーの仕様
これは素直に、カッコ付数字を出力するようにしました。
私はカッコ付数字を多用するので、かなり操作が楽になりそうです。
今まではDaigoで出力していましたが、キーの組み合わせで出力できるようになったので、さらに操作性が向上しました。
3.ZXCVB下段キーの仕様
これは素直に、丸付数字を出力するようにしました。
同じく、今まではDaigoで出力していましたが、キーの組み合わせで出力できるようになったので、さらに操作性が向上しました。
4.マイナス(ー)イコール(=)の連続出力
プログラムを書いていると大きなコメントを書くときに、以下のような書き方をします。
;——————————————————————————————
; ここにコメントを書く
;——————————————————————————————
このマイナスを連続して入力しやすくしました。
「M」キーのスペースシフトは「ー」ですので、これにスーパーシフトキー(a)を同時押しすることで連続入力できるようにしました。
連続入力をどのぐらいにするかは初期設定で指定できるようにしています。(MinusCount:デフォルトは70)
これで、ほぼほぼホームポジションキーパーで設定できるキーの組み合わせは機能が割り当てられました。
どれも実用性は高いので、入力の効率化に役立つと思います。
最後に実際に入力しているところを動画で紹介します。