generated at
05719-191212 親指シフトで句読点の位置を変更し「shioシフト」完成


親指シフトのレイアウトを4か所変更しました。めっちゃいい!!
shioシフト」と呼ぶことにします。

shioシフトキー配列表


経緯

親指シフトの配列を変更することに、大いなる躊躇がありました。配列を作った人への敬意を覚えているからです。正直言って変えたくありませんでした。実際、2011年4月1日に親指シフトを始めて以来、変えずに使ってきました(orzレイアウトは一般的なJISキーボードで親指シフトを快適にタイピングする目的でキーボード右半分のキーを全体的に1列右にずらすものなので、配列の改変には該当しないという認識)。

でもアイディアを実際に試みるのが進歩と割り切ることにしました。

> twitter 塩澤一洋, Kaz Shiozawa: 「親指シフトの句読点をリマップした #shioシフト 。さらに改良し、完成の域。めっちゃ合理的になった。作者への敬意からレイアウト自体の変更は避けてきたけれど、アイディアを実際に試みるのが進歩だと割り切ることにした。めっちゃいい。詳細はブログに書く。」 / Twitter 午前1:01 · 2019年12月13日

>twitter nishio hirokazuさん: 「@shiology 「アイディアを実際に試みるのが進歩」その通りだと思います!「作者への敬意」は出典明記で十分だと思います!」 / Twitter 午前1:34 · 2019年12月13日

本当にそうですね。出所の明示は著作権法48条。そして氏名表示権としては19条後段。
そこで「親指シフト(NICOLA配列)」を改変して「shioシフト」、作りました。それを「orzレイアウト」で使っています。


オリジナルの親指シフトにはshio的に決定的な問題が一つあります。それは句読点の位置。
親指シフトを始めた当初からどうしても受け入れがたかった。今日、思い切って変えました。

以下の4つのキーで6文字を変更。
変更した文字
キー単独押鍵左親指シフトと同時押し右親指シフトと同時押し
, ぺ(変更なし) む(変更なし)
. わ(変更なし)
p ぇ(変更なし)
z ぅ(変更なし) ゑ(変更なし)

その理由を詳述します。
元々のタイプライタの標準配列を含め、Mac等の英語配列でカンマとピリオドは、右手下段、中指と薬指にあります。
日本語をローマ字入力する場合、読点(、)と句点(。)も同じく、右手下段、中指と薬指。
日本語JIS配列でも同じ。

つまり日本で普及しているキーボードの配列は一般に、カンマと読点は右手下段中指、ピリオドと句点は右手下段薬指。

その理由のshio的推測。
英文を横書きするとき、左から右に書き進んできた文章の末尾、右下にカンマやピリオドを打ちます。
その位置感覚をタイプライタのキーボードでシミュレートすると、キーボードの右手前、つまり下段の右端に落ち着く。
ローマ字入力でもそれが踏襲されたのでしょう。
日本語の場合、縦書きもします。縦書きで句読点を打つ位置感覚を考えてみると、やはり文章を上から下に書いてきたのち、その文字列の右下に句読点を打ちます。だからキーボードでも同様に右下に配置するのが感覚に合う。


一方、オリジナルの親指シフトはどうか。
句点は q 、読点は @ にアサインされています。上段左端と上段右端。
文章の右下に打つべき句読点を、何で上段に? 冗談?
それも何ゆえ左右の端に振り分け? 右下に打つべき読点を左上に置く気持ち悪さ。それに「句読点」っていうくらいだから両者まとまっている方がわかりやすいのでは?

実は23年間ローマ字入力した後、2011年4月1日に親指シフトを始めた時から違和感maxでした。

その理由として考えられるのは、親指シフトの配列が各文字の出現頻度を重視している点。最も出現頻度が高い文字が中段のホームポジション、その次が上段、そして頻用しない文字が下段、という基準で配列されています。句読点の出現頻度が中庸だから上段、という判断なのでしょう。確かにそれは一つの価値観ですのでshioも尊重しておりました。

とはいえ、非常にドメスティックな発想です。文章の末尾に「。」を書くために q キーを押鍵する癖がついた状態で英文と和文を頻繁に行き来していると、英語でチャットしていて思わず文末に「q」と入力し、そのままreturnしてチャットの発言を送ってしまうことがあります。末尾にアルファベットを使った絵文字を書いている感じq

それを回避する方策としてshioは親指シフトを使い始めた当初から、 control + . , によって句読点を入力していました。そうすれば和文、英文問わず、句読点あるいはピリオドとカンマを書けます。しかし、macOS Xのバージョンが10.12だったか10.13だったかの頃から、 control + . , で`「.」や「,」を入力できなくなってしまいました。以来、仕方なく、親指シフトデフォルトの左右小指上段で句読点を入力してきましたが、やはり英文を書く時に間違う。辛い。


shio的にこれは、親指シフトの最大にしてたぶん唯一の欠点です。句読点を上に打つのがお好きな人もいらっしゃるのでしょうけれども、shioには違和感しかない。

それを払拭したい。本当は親指シフトの配列自体を編集したくないのですが、生産性と正確性に響くのでもう我慢するのはやめました。最小限、配置を変更し、カンマとピリオドを自然な位置に置きたい。

そこで考案したのが上記の変更による「shioシフト」。
最初、 , をそれぞれ入れ替えてみました。それでも良かったのですが、さらに改良できることに気づきました。使っていないキーがあるならそこに割り当てる方がいい。

親指シフトには、金輪際使う機会のない文字が2つ、割り当てられています。全角のカンマとピリオド。そんなものを使う機会は一生ない。英数記号は半角と決まっているからです。それならそのキーに句読点をアサインすればいい。

すると とともに p キーにアサインする必要がある。それによって追い出される を空いている「 , と左親指シフトとの同時押し」にアサイン。

それで生まれたのがshioシフトです。

メリット多数。
英数配列と共通の自然な指遣いで句読点を入力できる。オリジナル親指シフトだと小指を開いて上に伸ばす必要があり、打ちにくいし、前述の通り、位置感覚が不自然。
英語のカンマ、ピリオドと位置が共通なので、言語を変えても間違うことがなく、意識せずに入力できる。この「意識せずに入力できる」という要素が配列において重要。
オリジナル親指シフトの句読点のキーは変更していないので、誤ってそれを押鍵しても、ちゃんと句読点が入力される。
オリジナル親指シフトと比較して、 の入力しやすさは同じ。むしろ、親指シフトの基準で言えば、下段より出現頻度が高いとされる上段に が来て、入力しやすくなったはず( は変わらず下段のまま)。
がほぼ横に並び、 もすぐ上にあってわかりやすい。以前は を間違うことかありましたがもうそういうこともなくなる。
p キーと z キーを単語登録に使える。この効用はかなり大きい。従来はそこに全角のカンマとピリオドがあったため、ユーザ辞書の読みに使えませんでした。英語の単語を親指シフトのままタイピングして入力できるように登録するのです。例えば読み「ほてけ」で「PDF」とか、「うほほいた」で「Apple」を登録できる。副次的なメリットですが、以前は p z を含む単語だけこのような読みの登録ができなかったので、その効用は絶大です。



shioシフトキー配列表
オリジナル親指シフトから変更した5か所をアンダーラインで示してあります。



shioシフトの設定詳細

Lacailleの設定画面はこうなります。すでにその設定ファイルを公開しましたのでどうぞお使いくださいませ(本ページの末尾)。


オリジナル親指シフト




ついでにcontrol系のカーソル操作を設定

ついでに、controlキーを使うカーソル移動がMicrosoft製のアプリでも機能するようにKarabiner-Elementsを設定しました。webに公開されているemacs用のカスタマイズコード(karabiner-elements-complex_modifications)をエディタで開き、JSONファイルを編集して、必要なカスタマイズのみを残して保存したものです。
導入される設定
control + dforward deleteカーソルの右の文字を削除
control + hdeleteカーソルの左の文字を削除
control + mreturn改行や確定など
control + bfnparrow keysback/forward/next/privious にカーソルを移動
control + vpage downページ送り
control + a (Microsoft Office)homeカーソルを行頭に移動
control + e (Microsoft Office)endカーソルを行末に移動
導入されない設定
control + itabtabキーを押せば良い。またcontrol+iは変換中の文節縮小に使っているため
control + [escapeescキーを押せば良い。

MacのアプリはどれもEmacsに準拠した由来のキー操作が可能ですので、上記のキー操作はKarabiner-Elementsで設定しなくてもほとんどのアプリでは当然、機能します。しかしMicrosoft製のアプリはMacの標準に準拠していないので、control系の操作を受け付けない。

受け付けないだけでなく、おかしな挙動を示す。例えばExcel利用時にカーソルを前方に移動しようと control + f すると、いきなり検索窓が開いて面食らう。またTeamsでは control + b などが効かない。この問題、2年ほど前にMicrosoft本国のエンジニアがお二人成蹊大学を訪れてヒヤリングを受けた際に彼らに直接伝えたけれど、一向に改善されない。そればかりかその折に伝えたすべてのリクエストは、彼らが明確に「それはバグだ」とおっしゃったものも含めて、いまだにひとつも改善されていない。何のためのヒヤリングだったのかしら。諦めて、自分で対応した次第。


設定ファイルの公開

下記サイトに設定ファイルを公開しました。ダウンロードしてお使いくださいませ。
設定ファイル「karabiner.json」をダウンロード(2023-10-27 HHKB Studio対応版)。
2023-10-25までの設定ファイル:karabiner.jsonKarabiner-Elementsの設定ファイル。orzレイアウトを実現し、control系の操作に一貫させます。

というわけで、「shioシフト on orzレイアウト」によって親指シフトがようやく本当の意味でshio的最適配列になったと感じます。加えて「Karabiner-Elements」の設定でMacのcontrol系操作が一貫しました。親指シフトを作ってくださった方々、そしてそれをMacで使えるようにしてくださったKarabiner-ElementsLacailleorzレイアウトEmacs key bindingsの作者のみなさんに感謝申し上げます。どうもありがとうございます。