究極の括弧

究極の括弧(Ultimate Pair)

2018.12.26(水)〜2019.04.04(木)

( )、< >、{ }、[ ]、「 」、『 』、" "、“ ”、‘ ’
対をなす括弧は、エディタによっては、勝手に対で入力できるものもある。
それも悪くはないが、アプリ次第で一貫性がない。
それだけではつまらない。
 
それを究極に進化させよう。
それを応用して、アポストロフィー、プライムも進化させよう。
以下は、当面、X-Bowsのみが対象とする。
AppleKB等は、順次対応予定。


究極の括弧とは?

 
大きく分けて2つの方法を提供する。
未確定状態と確定状態を使い分けることができる。
 
(1) 文字などを選択して(未選択でも)、それを括弧で囲む。
  →オーソドックスな入力(確定状態)
 
(2) 括弧を入力してから文字を入力する。
  →サイクリック切替え(未確定状態)
 
未確定状態で、括弧の間に文章を入れて変換すると、括弧自体が変換されてしまって使いにくい場合がある。とは言え、括弧を変換できるのはメリットでもある。
 

(1) 選択範囲を括弧で囲む(確定状態)

括弧キーを長押しすると、選択範囲を括弧で囲むことができる。
これは確定状態になる。
 
未選択状態で実行すると、
「|」のように確定状態で間にカーソルが来ると同時に、
クリップボードは初期化される。縦線|は文字カーソルを示す。
 
単純にカット&ペーストしている
クリップボードの初期化は、処理を単純化、共通化するためです。テキストエディットなどのように未選択でカットしてもクリップボードは初期化されないため、カットの前にクリップボードを初期化している。
 
ただし、Scrivener3のように処理が遅いアプリでは、ペーストできないことがあるので、可能な限りの対策を入れてある。あるいは、特殊なエディタ(BiND10)では変なコードがペーストされてしまう。
 
本質的には、Karabiner-Elementsが、クリップボードの初期化用の仮想キーをサポートする必要がある。
 

(2) サイクリック切替え (未確定状態)

 (| → (|) → なし (左シフト)
 |) → (|) → なし (右シフト)
縦線|は文字カーソルを示す。
 
括弧は全てシフトケースなので、それを利用して、
シフトを押しっぱなしにしつつ、キー(3キー〜8キー)を押すたびにサイクリックに切り替わる。
別のキーを打つと、( → { とか{ } → [ ]のように入れ替わる。
打ち間違えた時に一々削除キーを使わなくていい。
 
オリジナルのTRON配列では1つのキーの左右シフトでペアを打ち分ける。
サイクリック切替えは、オリジナルのシンプルさをさらに発展させたものです。ペアで打つなら、左右どっちのシフトでも可能ということです。
いいね。
 
 
(2-1) 未確定状態
サイクリック切替えは、未確定状態になる。
ペアの場合、(1)や(a)のような単純な入力が多い。
最初に括弧をペアで入力してから、その間に入力することがよくある。
 
括弧の間にカーソルが自動的に来るので内側にすぐに入力できる。
そして、未確定状態なので、確定すると、カーソルが括弧の外に出るので、入力に集中できる。
 
一貫性を持たせるために、単独の括弧の場合も、未確定状態にしてある。これは、使いにくいと思うこともあるが、利点もある
 
かわせみ2には、括弧を変換して別の括弧を選べるという機能がある。
これは、特殊な括弧、例えば、〔〕や《》等を出すのに便利です。
一方、究極の括弧は、頻繁に使う括弧を直接入力できるという点で効率が良い。
 
但し、かわせみ2(ver2.0.12)には欠点とバグもある。
欠点は、括弧類の変換候補は全角しか存在しない。半角括弧を加えることは要検討とのこと。半角括弧やいくつかの記号の同音語が学習されないバグがある。
 
 
(2-2) 他の括弧に打ち直す
シフトキーを押しっぱなしのままで、
別の括弧キーを打つと、括弧が入れ替わる。
削除キーを使わなくて良い。
 
 (    → {
 ( )  → { }
 
重複キーの場合は、再度長押しすると、入れ替わる。
同時押下モード、遅延押下モードも切り替わる。
 (    → <
 ( )  → < >
 
 
間違ったキーを叩いたときでも、効率的に打ち直せる。
いいね。
 
エディタに依存しないで、打ち分けが可能なのがいい。
ありそうでなかった。
 
但し、括弧以外のキーを途中で打つことは想定していない。
そこまで対応する必要はないだろう。
シフトキーをキーアップすると、入替えはできなくなる。
 
(2-3) リピート
 
括弧も基本的にリピートしない。
ただし、<と>はリピートするようにしてある。
 
<が出た状態で6キーを長押しでリピート 
 <<<<<<<<<<<<<<<
 
リピートした後は、単打で<が繰り返して打てる。
さらにリピートすると、その後はサイクリックでの切替えに戻る。 
 <<<<<<<<<<<<<<<<<< >
 
他の括弧はリピートすることはまずないが、
<と>だけはリピートしたい時があるからです
 

(3) 同時押下モードと遅延押下モード

最も多用する()<>や「」『』をそれぞれ1つのキーに重複して割り当てる。
これは「」と『』が同じキーで入力できたほうが分かりやすいからです。そして、0キーと1キーのシフトケースを空けて、別の用途で使用するためです。
 
そのために、
 同時押下で( )、遅延押下で< >
 同時押下で「」、遅延押下で『』
 
シフトキーを押してから、最初のキーを遅れて(パラメーターto_delayed_action_millisecondsの設定時間後に)打つか、ほぼ同時に押すかで、遅延押下モードか同時押下モードかが決まる。シフトキーをキーアップすると、モードは解除する。
 

ストレート・クォーテーションマーク " "

3キーの右シフトケースで同様に入力できる。
同時押下、遅延押下の区別はない。
 
 " → " " → なし
 
これは、4キーで入力するダブル・クォーテーションマーク “ ”との違いが曖昧になっている。
 
たとえば、Evernoteでは、ストレートを入力しても、勝手に、ダブルに書き変わってしまったりする。アプリ毎に一貫性がないということが、図らずも、知ることができる。
 

アポストロフィー、プライムって何だったっけ? 

記号キーの中で、ほとんど使わない。
記号の意味が分からないので、結局、適当に使っていたりする。
 
だったら、意味が分かるようにすればいい。
そこで、括弧方式を応用する。
 

アポストロフィー

左シフトと3キーの同時押下で、
 'ss' → なし
 
sが選択状態になる。複数形などで用いる。
西暦の短縮形を入力する場合は、
 '19
のようにすぐに入力できる。
でも、使うことはほぼない。
 

プライム、ダブルプライム

左シフトと3キーの遅延押下で、
 A′ → A″ → なし 
 
もちろん、シフトキーを押しっぱなしにして、
3キーを長押しで入替えることもできる。
 's ⇄ 3キー長押し ⇄ A′ 
 s' ⇄ 3キー長押し ⇄ A″ 
 
これで、ストレート・クォーテーションマークとの区別がはっきり分かるので、使い間違えることもない。
いいね。
 
究極の括弧を含めて、ここまでできれば、ほぼ完璧だろう。