Corne V4 でのOASYSキーマップ

親指シフトキーボードをご存知でしょうか。

かつて富士通のワープロ専用機OASYSに採用され、1980年代には熱狂的な支持者を出して一世を風靡したものの、その後は歴史的な背景もあって世間から忘れ去られてしまったキーボードです。

ピュアな親指シフト、ワープロ専用機OASYSに採用されたあのキーボードの操作性を再現したい。

それがやりたいことのひとつでした。

ということで自作キーボードCorne V4 Cherry上でOASYSキーボードとほぼ同等の操作性をよみがえらせました。

なお、ここでいうOASYSキーボードの”操作性“とは、OASYSキーボードにおける文字入力の仕組み、文字入力の確実さを指しています。

【対象者】

  • エンジニアやプログラマーではない人
  • 昔OASYSを使っていた人
  • 親指シフトに興味のある人

です。

ようするに

「QMKとかgithubとか面倒くさい話はけっこう。Corne V4 で親指シフトできたらそれで十分ですわ」

という人を対象にしています。

動作環境

  • キーボード ⇒ Corne V4 Cherry
  • PC ⇒ MacBook Air
  • IME ⇒ (必須ではないけれど)google日本語入力

PCにmacを使っています。macを使う理由はこちらに書きました。

黄色ライン

私はエンジニアでも職業的なプログラマーでもありませんが、富士通の親指シフトキーボードで親指シフトの素晴らしさを知り、Windows XP の時代からは自作エミュレーターを使って親指シフトしてきました。

ローマ字入力のキャリアも短くはないですが、現在、書く文章の9割以上は親指シフトで打ち込んでいます。つまり現役親指シフターです。

この記事を読むとCorne V4 で親指シフトを実現する具体的な方法がわかります。

Corne V4上での全キーマップも公開しました。

macを想定する理由

macの日本語キーボードには[Space]キーの右横に[かな]キー、左横には[英数]キーがあって、[かな]キーを押したときにはIMEをオンにし、[英数]キーを押せばIMEをオフにします。このスタイルがキーボードを親指シフト化するさいの前提になります。

mac日本語キーボードのレイアウト
macな日本語キーボードっぽい奴

もちろん、macの英語キーボードには[かな]キー、[英数]キーなどというものは付いていません。ですが、[かな]キーや[英数]キーに相当するキーコードをPCに送ると日本語キーボードと同様の動作をします。

それに対してWindowsの場合はまず日本語キーボードであるという条件のもと、あらかじめ設定していた場合には[変換]キーでIMEオン、[無変換]キーでIMEをオフにできます。ですが、英語キーボードでは原則この手法が通用しません。

英語キーボードで日本語キーボードと同様の動作をおこなうことが不可能、というわけではないようです。ですが、控えめにいってもワンクッション必要にはなります。

(具体的にはGoogle日本語入力とか、あるいはPowerToysのKeyboard Managerなどで特定の設定をおこなう必要があるようです)

私自身は今のところmac初心者なので、Windowsよりmacのほうがいいよ、みたいなことは言えません。

それでも

キーボードを含めシステム全体の構成はmacのほうがシンプルに思えたので、macキーボード使用を前提にしました。

また、google日本語入力を使うとOASYSに固有の記号、二重鍵カッコ『』などを直接打ち込むことができます。

もちろんgoogle日本語入力が必須ではなく、使わないよりは使ったほうがいいかも、というレベルの話ですが。

Corne V4 Cherryで親指シフトするには?

おおまかな流れとしてはCorne V4 のマイコンに親指シフト処理を組み込む、ということになります。

どうやって組み込むかというと、ダウンロードしたファイルを特定のフォルダにドラッグ&ドロップ(もしくはコピペ)するだけです。

それだけでマイコンへの書き込みが完了し、親指シフトできるようになります。

あまりにも簡単すぎて私自身おどろきました。

先人の努力に感謝、ですね。

【概要】

一般的にキーボード内部のマイコンにはキーを押したり離したりなどの情報を、PCのOSが解釈できるかたちに変えて伝達するためのプログラムが書き込まれています。

このプログラムのことをファームウェアというのですが、Corne V4 は自作キーボードの定番ともいうべきQMKファームウェア、その派生版のVialなどに対応しています。

今回はQMKファームウェアに親指シフト処理を組み込み、最終的に生成したファイル(uf2ファイル)をCorne V4 Cherryに書き込むことで、親指シフト化を実現しています。

uf2ファイルの中身にかんしては「マジで親指シフトする3秒半前」という記事で書いていますので、興味のあるかたはお読みください。

書き込みの方法

まず下のボタンからダウンロードします。ダウンロードする前に下記の注意事項をお読みください。

注意点

ダウンロードできるuf2ファイル(マイコン用のファイルフォーマット)は本来、私個人の責任にもとづいて、私個人の責任の範囲内で使用することを目的として作成したものです。
テキストファイルのコピペと違って使い方を誤るとキーボードはもちろん最悪の場合はPCも使えなくなるようです。
したがってこのファイルを使用する場合には使用する各個人の責任の範囲内でお願いします。

つぎにCorne V4 Cherryのマイコン(RP2040)をPCがストレージとして認識している状態にします。といってもなんだかむずかしそうだし、ちょっと漠然としていますね。

具体的に説明すると

基本的な操作方法としてはCorne V4 CherryをPCに接続し、マイコン(RP2040)基板上のBOOTSELボタンを押しながら、RESETボタンを押す、

ということになるのですが

やっぱりむずかしそうだし、面倒くさそうです。

じっさい、この方法だと基盤の状態に戻さなければならず、面倒くさいです。

じつをいうとCorne V4 ではもっと簡単な方法が用意されています。

簡単な方法とは

まず左側キーボードの場合はキーボードにUSBケーブルのコードを差し込み、[Q]キーを押しながらそのUSBケーブルをPCに差し込みます。

すると私の環境(mac)では「RPI-RP2」という新規のフォルダがファインダーにあらわれます。

RPI-RP2のスナップショット

つまりこの段階でmacがCorne v4 Cherryのマイコンをストレージとして認識した、ということになります。

あとはダウンロードしたファイル(oakbd_rev1_default.uf2)を「RPI-RP2」にドラッグ&ドロップ(もしくはコピペ)します。

※ 警告文があらわれますが無視します。

書き換えが終了し無事に文字入力できることが確認できたら、ここでいったんコードをPCから外します(書き換え中には外さないでください)。そしてもちろんキーボードからも外します。

あらためて右側キーボードにコードを差し込んで、今度は[P]キーを押しながらもう一度PCに差し込みます。

するとやはり私の環境(mac)では「RPI-RP2」という新規のフォルダが出てくるので、そこへダウンロードしたuf2ファイルをドラッグ&ドロップです。

これでマイコンへの書き込みが完了します。

親指シフト処理をマイコンに組み込む、などという行為はむかしだったらかなりオオゴトになっていたはずですが、現代ではコピペするだけで終了でした。

よい時代になりました。

もうひとつの方法

基本的には上で紹介した方法になりますが、べつのやり方もあります。

Corne CherryではADJUSTレイヤーの左側キーボード・左上のキー(通常レイヤーでは[TAB]キーのポジション)にQK_BOOT つまりブート用のキーが設定してあります。

PCにCorne V4 Cherryのケーブルを差し込んだ状態で(ADJUSTレイヤーの)左上キーを押すとPCはストレージとして認識します。上述のように(わたしの環境では)「RPI-RP2」という新規のフォルダが表示されます。

そこへドラッグ&ドロップ(もしくはコピペ)、です。

同じ工程を左右両方のキーボードでおこないます。

私のキーマップでも標準設定を引き継いでいるため、ADJUSTレイヤーの左側キーボード・左上([TAB]キー位置の)キーにQK_BOOTが配置してあります。

この方法、基本的には「再書き込み・アップデート」用らしいのですが、Corne V4にはすでにVIAに対応したQMKファームウェアが書き込まれているので最初から使えるかと思います(が、私自身は最初のうちは上に書いた方法で書き込みました)。

私のキーマップでは下図のように[FUNK]キーと左右どちらかの[NUM]キーを同時押しすることでADJUST レイヤーに移行します。ADJUST レイヤーにかんして詳しくはこちらを参照してください。

ADJUSTレイヤーのキーマップ
左上(BL)がBOOTLOADERキー

ちなみにCorne V4の初期設定と私のキーマップとではADJUST レイヤーへ移行するキーそのものが違います。

本来のCorne Cherryですと、レイヤー移動のための[Lower]キー、[Upper]キーは親指キーの中央に配置してあるので、書き込み時には注意が必要です。最初の書き込み時には下のキーマップで[Lower]キー、[Upper]キーを同時押ししてADJUSTレイヤーへ移行したうえで、[Tab]キー(の位置の)キーを押します。

本来のCorne Cherryレイアウト
Lowerキー、Upperキー同時押しでADJUSTレイヤー

いろいろと面倒くさいなあ、という方は最初に紹介した方法で書き込んでみてください。

ちなみにRemapを使えば簡単に自分好みの配置にブートキーを設定できるようです。REMAPではBootloaderキーという名称になるようですが、私自身は試していません。

あまり押しやすいポジションに配置するとそれはそれでトラブルのもとになりかねないので、個人的にはデフォルトポジジョンでいいかなと思います。ご参考までに。

トラブルシューティング

自分が納得できる環境ができあがるまでの期間、数え切れないほど頻繁にマイコンへの書き込みをおこないました。ですが、書き込みできなくなったり、書き込みをした結果おおきなトラブルに見舞われたりしたことは一度もありませんでした。

手順を間違えて稀にキー入力できない状態になったこともありましたが、そういうときでもキーボードをPCから抜き差ししたら、すぐにもとにもどりました。

逆にいうと書き込みにかんして質問されても、わたしには上で説明した以上のアドバイスができません。なので、個人の責任の範囲内でおこなってください、というお願いをしました。

そのうえで、すくなくとも書き込み自体ができる状態ならば、初期設定に戻すことは可能です。

公式ドキュメントから正式版のuf2ファイルをダウンロードできるようです。最終手段としてこのファイルを書き込めば、すくなくとも初期設定に戻すことはできるはずです。(私自身はキゲンよく親指シフトできているので、試したことはありません)

親指シフトするには?

初期設定ではローマ字入力専用のレイヤーになっています。親指シフトするためにはADJUSTレイヤーで以下のキーを押して設定します。

[N]キー : 親指シフト(OASYS方式)。親指シフトキーとはべつに独立した変換キーがある本来の親指シフトです。OASYSと同等の文字入力特性が実現します。

[S]キー : 親指シフト(変換キー共用型NICOLA)。親指シフトキーと変換キーを同一のキーでおこないます。OASYS方式と比べるとやや難易度が高くなり、どちらかというとベテランさん向きです。親指まわりのキーを有効活用できます。

[E]キー : 拡張NICOLA。OASYSプラスアルファ、の設定です。(後述)

一度設定しておけばあとは電源を切ってもその設定が保存されます。つまり、ずっと親指シフトです。なので日常的にはADJUSTレイヤーを使うことはあまりないと思います。

キーマップ 俯瞰図

OASYSレイヤー : IMEオフ時のレイアウト

OASYSレイヤーIMEオフのキーマップ
IMEオフのキーマップ(項目へ)

OASYSレイヤー : 「かな」配列

「かな」入力時のレイアウト
かな入力時のキーマップ(項目へ)

OASYSレイヤー :サイドシフトのレイアウト

シフト面のレイアウト
Shiftキーを押したときのキーマップ(項目へ)

半濁音シフトのレイアウト

半濁音シフトのレイアウト
半濁音シフト(逆サイドシフト)時のキーマップ(項目へ)

NUMレイヤー

NUMキー押下時のキーマップ(項目へ)

FUNCレイヤー

FUNCレイヤーのキーマップ
FUNCキー押下時のキーマップ(項目へ)

ADJUSTレイヤー

ADJUSTレイヤーのキーマップ
FUNKキーNUMキー同時押し(項目へ)

キーマップ詳細

OASYSレイヤーに設定してあるという前提で話を進めます。(変換キー共用型に設定した場合もレイヤーは同じです)

IME/ONの状態ですでに親指シフトできるはずなので、つぎに具体的なキーマップです。

図で表示しただけではわかりにくいところもあるかと思いますので、それは後半で説明します。

IMEオフのレイアウト

まずIMEをオフにしたときのレイアウトです。これが土台になります。

IMEをオフにしたときのレイアウト
IMEオフ時のレイアウト

一般的な英語キーボードだと、[P]キーの右隣はブラケット左 ” [ ” になるのですが、Corne V4の場合は[BackSpace]キーが標準設定になっています。

でも伝統的に親指シフトキーボードの場合は[P]キーの右隣にコロン[ : ]キーです。「かな」入力時にはこのキーで読点”、”を打ちます。

そしてセミコロン ” ; ” の右側が[BackSpace]キー([後退]キー)でした。

OASYSキーボードIMEをオフにしたときのレイアウト
OASYSの場合

でもCorne V4はじめ自作キーボードの多くは英語キーボードを前提にしています。なので、今回の実装では[P]キーの右隣はコロン” : “ではなく、クォート(quart) ” ‘ ” をわりあてています。
そしてセミコロン ” ; ” の右側は、もちろん[BackSpace]キーです。

BSキーのポジションを強調

「かな」入力時にはクォート(quart) ” ‘ ” のポジションで読点”、”を打ちます。

親指シフトキー

全部で3つある親指キーのうち真ん中のキーは、「かな」入力する際には世界の基準点、親指シフトキーになります。

そのうえで

本来のOASYSキーボードですと英数入力時には親指シフトキーも[Space]キーとして動作するのでした。ですが、私の設定では右側(親指)キーのいちばん内側、そして左側(親指)キーのいちばん内側の親指キーも(英数入力時には)それぞれ[Space]キーです。

IMEをオフにしたときのレイアウト
IMEオフ時のレイアウト

これに加えて真ん中の親指キーも[Space]にしてしまうと、

ふと周りを見回したら[Space]キーだらけ、

という怪しげなキーマップになってしまいます。

これはちょっといただけません。

ということで、英数入力時には真ん中の親指キー、( it’s )親指シフトキーでブラケット[]を打てるようにしました。
(上述のようにもともとCorne V4ではブラケット[]を打ち込むためのキーが物理的に存在しませんので)

IMEをオフにしたときのレイアウト

なお、親指キーにブラケット[]を割りあてているのですから、Shiftキー + 親指キーで中カッコ {} が打てると考えるかもしれませんが、そういうキーマップにはしていません(後述)。

変換、そして無変換とは?

ふつうの日本語キーボードでも目にする変換、無変換キーですが、昔のワープロ専用機と現在のPCとではこのキーに対する考え方が違ってしまいました。

入力した「かな」を変換するさい、現在はスペースキーを叩いて変換しますが、ワープロ専用機の場合は基本的に専用の変換キーを使う構成でした。

かな入力時のレイアウト
「かな」を「かな漢字混じり文」に変えるキーは変換キー

ということを前提として、今回は右側キーボードで3つある親指キーのうち、いちばん内側の親指キーを独立した変換キーとしています。(ややこしいですが、その実態はSpaceキーです)
書いたように親指シフトキーと変換キーを兼用する「変換キー共用型」に設定して使うことも可能です。この場合は真ん中の親指キーで”変換”します。

無変換キーの考え方

ところでワープロ専用機OASYSの場合、変換キーに対応する左側の親指キーは[無変換]キーです。このキーの役目は”参考”で書いているようにひらがな変換というか、カーソル位置までに打ち込んだ「かな」は「変換しませんよ」とワープロ側に指示するキーだったという認識です。

なのでワープロ専用機OASYSに合わせて左側キーボード、いちばん内側のキーには[無変換]キーに相当する「ひらがな」変換、(Google日本語入力での)[F6]キーを割りあてています。

[F6]キーで「ひらがな」変換はもともとマイクロソフトIMEの設定だったと思います。

Google日本語入力でもマイクロソフトIMEとおなじように文字入力中に[F6]キーを押すと「ひらがな」変換します。なので、OASYSキーボードにわりと近い動作となります。
(「わりと近い動作」になるようQMK側で挙動を調整してもいます)

OASYSの入力スタイル

ご存じない方が多くなってしまっただろうと思うので、補足です。
ワープロ専用機OASYSの入力スタイルは入力した文字を変換するか([変換]キー)、変換しないでそのまま”ひらがな”の状態にしておくか([無変換]キー)を、文節単位で決定していく方式でした。

文節変換なんて効率が悪いと感じる方も少くないかと思いますすが、手戻りのない手書きに近い感覚で打ち込めるのでこれはこれで悪くはないです。とはいえここは好みの領域でしょうから良し悪しは論じません。

ちなみに、OASYSに”確定”という概念はありませんでした。入力した文字は自動的に確定するし、[改行]キーを押せば純粋に改行だけする仕様でした。

[英数]キー、[かな]キー

左側キーボードのいちばん外側の親指キーはmacキーボードを模して[英数]キー(= IME/OFF)としました。もちろん右側キーボードのいちばん外側には[かな]キー(= IME/ON)を配置しました。

かな入力時のレイアウト
左端の親指キーは[英数]キー、右端は[かな]キー

※ 内部的にはIMEをオンにしたタイミングで親指シフト処理をおこない、IMEをオフにしたら親指シフト処理をスルー、みたいな構成にしています。

親指シフト「かな」配列

「かな」の配列です。

基本的には親指シフト配列( ≒ NICOLA)になるべく近くなるよう心がけました。

ですが、そもそもCorne V4 Cherryには数字キーがありません。本来の親指シフトキーボードでは数字の段でカッコ()、鍵括弧「」などは打ち込むことができたのですが、物理的に存在しない以上、この方法はつかえません。

また、物理キーの限界云々、ではなく、考え方の違いとしてOASYSキーボードとは異なる配列面も用意しています。

シフトなし

文字キーを単独(シフトなし)で打つと下側の文字が打ち込めます。

 

 BS

 

親指左 親指右

シフトあり(同手シフト)

文字キーと同じ側の親指キーを同時打鍵するとシフト側の文字が打ち込めます。親指シフトの所以、ともいえる配列面です。

 

 BS

 

親指左 親指右

シフトあり(逆サイドシフト)

濁音は文字キーとは反対側の親指キーを同時打鍵して打ち込みます。たとえば「し」を割りあてた[S]キーは左側にあるので、右親指キーと[S]キーを同時打鍵します。

もともとは濁音入力のための手法だったのですが、後年「ぱ」「ぴ」「ぷ」「ぺ」「ぽ」の半濁音にも対応しました。

 

 

 

親指左 親指右

ここまでで、親指シフト「かな」入力は完了です。数字、記号類は後述するレイヤーを使って打ち込めるので、日常使いならとくに問題はないかと思います。

「かな」入力時のレイアウト
Corne V4で親指シフト

ですが、そのレイヤーを説明する前に

親指シフトに限定するなら必須ではないですが、より実用的に使うのであれば知っていただきたい、というレイアウトもつづけて紹介します。

サイドシフト

OASYSキーボードと決定的にちがうのがシフトキーを押したときのレイアウトになります。

OASYSキーボードでは本来の(サイドにある)Shiftキーを使って半濁音などを打ち込んでいたのですが、今回の実装ではShiftキーを押しながら文字キーを打ったら英大文字になる一般的なレイアウトです。

ようするにふつうの(英語)キーボードでローマ字入力しているときと考え方としてはおなじです。IMEがオンかオフかにかかわらずおなじ操作で英大文字ないし記号が打てる構成です。

一点だけ、ふつうのキーボードと違うのが親指キーのポジションになります。

シフト面のレイアウト

親指シフトキーのポジションで丸括弧()を打ち込めるようにしました。もちろん、IMEがオンかオフかにかかわらず、です。

もともとはわたしの環境でのレイアウトですが、経験上このポジションで丸括弧 ( ) が打てて邪魔にならないと思うので、標準設定にしました。

半濁音シフト

半濁音専用のレイアウトです。

両キーボードのいちばん外側にある親指キー、つまり左側の[英数]キーと右側の[かな]キーは、ともに半濁音用のシフトキーとしても動作します。

かな入力時のレイアウトパート2

左右両端の親指キーと文字キーとの同時打鍵(逆サイドシフト)で半濁音「ぱ、ぴ、ぷ、ぺ、ぽ」が打てます。

左側の[半濁音]([英数])キーと、「は」を割り当てた[H]キーを同時打鍵(逆サイドシフト)すると半濁音の「ぱ」になる仕組みです。

[英数]キーを単独打鍵すれば、規定の動作をします。すなわちIMEをOFFにします。

一方、右側の[半濁音]([かな])キーと(たとえば)「ひ」のポジション[X]キーを同時打鍵すれば半濁音の「ぴ」になります。

[かな]キーを単独打鍵すれば(IMEがOFFならば)IMEをONにします。

左右両端の親指キーと、清音「は」「ひ「ふ「へ「ほ」に相当する文字キーを(逆サイドシフトで)同時打鍵すると、半濁音「ぱ、ぴ、ぷ、ぺ、ぽ」が打てます。

半濁音だけではもったいない(貧乏性かあ?)ので、OASYSキーボード(の数字段)で打ち込めた鍵カッコ、二重鍵カッコなども打てるようにしました。

半濁音シフトのレイアウト

なお、ブラケット[]、二重鍵カッコ『』、あるいは3点リーダー…、などいずれも「google日本語入力」を使っていることが前提ですので、ご了承ください。

ブラケット[]をダイレクトに打てるよう設定していますが、原則としては1文字入力時のみの対応となります。

つまり” ぶらけっと[ “と一気に打ち込むのではなく、ぶらけっと[変換] →「ブラケット」として 、その後に” [ “だけを打つ、みたいな流れで記号は1文字入力します。

” ぶらけっと[ “と複数文字をまとめて打つと、” [ “のまえに打った” ぶらけっと “が自動的に確定してしまいます。

内部的には、Google日本語入力の「あとから英数変換」を流用しているだけなので、ここはプログラム上のバグというよりは私個人の技術的限界です。

ノンシフト面に配置してあるカンマ ” , “、ピリオド ” . ” においてもダイレクトに打つことはできますが、考え方はおなじです。

ご承知ください。

※ ブラケットにならないよ、という方はファンクションキーの設定を確認してください。

ブラケット?

ちなみにワープロ専用機OASYSで打ち込めた記号はブラケット[]ではなく、亀甲括弧〔〕(ユニコードではU+3014、U+3015)だったと認識しています。

亀甲括弧〔〕、です。

あらためて書くほどのことではないですが、わたしはブラケット[]と亀甲括弧〔〕、この2種類のカッコの使い分けができません。

半濁音シフトのレイアウト
記号類のキー

[A]キー : ” [ ” ブラケット左

[S]キー : ” ] ” ブラケット右

[D]キー : “「 ” 左鍵カッコ

[F]キー : ” 「” 右鍵カッコ

[J]キー : “「 ” 左二重鍵カッコ

[F]キー : ” 」” 右二重鍵カッコ

[L]キー : “〜 ” 波ダッシュ

[ ,]キー : “…” 3点リーダー

ここで仕組みの話をちょっと。

[英数]キーと[かな]キーは完全に単打、つまり文字キーが押されていない状態で単独で押して離したときのみ、有効になるように設定しています。
[英数]キーと[かな]キーが押されているあいだ、たとえわずかな時間でも文字キーが押された時間と重なったら、その時点で[英数]キー及び[かな]キーの単独打鍵は成立しません。あくまでも親指シフトの処理を行う親指シフトキーとして動作します。
親指シフト優先の処理をすることによってOASYSキーボードと同等の操作性、文字入力の確実さを実現しています。

鍵カッコ

ADJUSTレイヤーの[E]キーを押すと、「拡張NICOLA」が有効になります。

拡張NICOLAが有効の状態で、メインの親指シフトキー(左)単打で鍵カッコ初め”「”が打ち込め、右側の親指シフトキー単打で鍵カッコ閉じ”」”を打てるようにしました。

鍵カッコ「」の入力はキーを単独で押して離したときのみ有効になる構成です。これにかんしては上の「参考」とおなじ理屈です。

親指キー単独打鍵でカギ括弧を打てるように設定した図
親指キー単打で鍵カッコ

通常の変換キー共用型NICOLAと異なり、OASYSキーボードの(シフトの有無)判定ロジックにはいっさい手をくわえていません。そのため、親指キーで鍵カッコ「」入力を可能にしつつ、なおかつOASYSキーボードと同等の文字入力特性を実現しています。

黄色ライン
鍵カッコ「」なら許せるん?

答えを先に書くと、 鍵カッコ「」なら許せます。

当サイトでは、親指シフトキーに通常の「かな」や変換機能を割り当てるのは原則的には矛盾がありますよ、理屈で考えると仕組み上の破綻が生じていますよ、みたいな趣旨のことを書いてきました。結果として操作上の制限を設けなければならなかった過去の経緯についても書いてきました。(参考・「なぜ親指シフトは忘れ去られたのか」)

でも句読点「、。」とか鍵カッコ「」などの区切り符号にかぎっては親指シフトキーに割りあて、かつ「単独で押して離すタイピングのみ有効」というかたちに限定しても、自然な日本語入力を妨げることはないと思います。

鍵カッコは「かな」ではなく文と文を区切るための符号なので、「単押し時のみ有効」という仕組みを与えても不自然さを感じることがない(もしくは容易に慣れることができる)のです。

結論、鍵カッコ「」なら親指シフトキーと共用して問題はありません。OASYSキーボードの操作性を崩すこともありません。

ただしここは私個人の(ざっと見積もって20年ほどの)経験にもとづくものでしかありません。なので、あなた以外の誰にとっても自然に感じられるのですかぁ? それ絶対ですかぁ? と膝を詰めて責められても、「わかりません」としか答えようがないです。

というわけで、あくまでも「オプション」という扱いにしました。

お好みでどうぞ。

とうぜんですが、変換キー共用型に設定した場合は無効になります。

ファンクションキーについての補足

唐突ですが、わたしはWindowsからmacに最近引っ越してきたmac1年生です。わたしとおなじようにmac初心者さんに向けての、以下はメモです。

macのファンクションキー

macの場合、標準では、F1キー〜F12キーは画面の明るさや音量などの調整に割りあてられているとのことです。

Window 風というか、標準のファンクションキーとして使いたい場合は、システム設定で変更します。

サイドバーの「キーボード」をクリックし、「キーボードショートカット」ボタンを押す。サイドバーの「ファンクションキー」を選択し、「F1、F2などのキーを標準のファンクションキーとして使用」をオン。
以上の設定で変更できます。(アップルサポートより)

NUMレイヤー、FUNCレイヤー

親指シフトはいったん離れここからさきは私が設定したレイヤーについての説明です。

NUMレイヤー、FUNCレイヤーは自分で定義したレイヤーです。

自作キーボードの世界では慣習的に[Raise]キー、[Lower]キーというふたつのキーがあって、各キーを押すことでそれぞれRaiseレイヤー、Lowerレイヤーへと移行し、さらにふたつのキーを同時押しすると今度は第3のレイヤー、Adjustレイヤーへ移行する、という設定が多かったように思います。

Corne V4 Cherryも標準ではそんな感じの[Lower]キー、[Upper]キーというふたつのキーがあります。

本来のCorne Cherryレイアウト
Corne V4 オリジナルのレイアウト

ただ個々のレイヤーにどういう名前をつけるかは基本的には自由なので、コーディングのさいによりイメージしやすい名前のほうがいいだろうと考え、数字、記号入力のためのレイヤーをNUMレイヤー(numberの頭文字)、文字カーソル移動など機能キーの代用をするレイヤーをFUNCレイヤー(functionの頭文字)としました。

さらに今回はCorne V4の親指シフトバージョン、親指至上主義に徹してますので、3つある親指キーをすべて親指シフト「かな」入力に特化して使い込んでいます。

なのでレイヤー移動のためのキーを親指ポジションではなく、Corne V4で新たに追加された中央のキーに配置することにしました。

OASYSレイヤーIMEオフのキーマップ
レイヤー関係のキーは中央へ

ふたつのキーが同時にオンになるとADJUSTレイヤーが有効になります。ADJUSTはそのまんまかい? と言われそうですがコーディングにはあまり関係ないので……。

なお、ADJUSTレイヤーは基本的に初期設定やレイヤー移動のためのキーマップです。

NUMレイヤー

上述のようにレイヤー移動のためのキーは親指ポジションではなく、Corne V4で新たに追加された中央のキーに配置することにしました。

ところで、仮にNUMキーを左側に配置すると左側キーボードに配置した数字・記号類がなにげに打ちにくいです。

NUMキーを片側だけに配置した図

数字の “1” (NUMキーを押しながら[Q]キー)とか、指がつりそうです。

なので結論はダブルNUM、下図のように左右どちらのキーを押しても数字や記号が打ち込めるようにしました。

NUMレイヤーのキーマップ
NUMキーを両サイドに配置

NUMレイヤーに完全に移行したい場合はNUMキーをダブルタップ(すばやく2度押し)します。(戻すときはもう一度ダブルタップ)

補足

QMKファームウェアには標準でMod-Tap(モッドタップ)というマクロが用意してあります。これを使うと応用範囲は広がります。

今回の実装でも左側キーボード内側の親指キーはMod-Tapを使っています。単押ししたときは[Space]ないし[F6]キーとして動作しますが、長押ししたときは[command]キーとして使えるように設定しているのです(後述)。

macで[command]キーは必須ですからこのあたりは外せないかなあと思います。

同様の考え方を進めていくと、たとえば右側キーボードにわりあてた[Space](or 変換)キーもレイヤー移動のために兼用することもできそうですね。事実そういう設定にしている方もおられるようです。

ですが、今回は見送ることにしました。

  • [変換]キーと[Enter]キーは単機能のみを割りあてたい

あくまでもこれは個人的な好みです。

FUNCレイヤー

文字カーソル移動など機能キーの代用、そして文字通りファンクションキーの代用をするのがFUNCレイヤーです。

FUNCキーは左側キーボードの右端、V4で新規に追加された2キーのうち下側に設定しました。

ただ、ここでもNUMキーのときと同様の問題が発生します。

[FUNC]キー + [文字]キーという組み合わせ、右側キーボードに配置した文字カーソル移動などは操作しやすいのですが、左側キーボードに配置したファンクションキーは打ちにくいキーが出てきます。

FUNCレイヤーのキーマップ

ですが右側キーボードの左端下は[Enter]キーであり、書いたように[Enter]キーは単押しのみに使いたいのがわたしの好みです。

IMEをオフにしたときのレイアウト

つまりダブルFUNCという手は使えません(使いません)。

そこで対策として[FUNC]キーはタップ(単押し)したときにはつぎに押した1キーのみFUNCレイヤーのキーとして有効になるよう設定しました。

具体的には[FUNC]キーをタップしたあとで[Q]キーを押せば[F1]キーになり、[W]キーを押したときには[F2]キーとして動作する、という感じです。2文字目以降はもとのレイヤー(たとえばOASYSレイヤー)に戻ります。

FUNCレイヤー上で連続してキーを打ち込みたい場合もあります。そのときには[FUNC]キーをダブルタップ(すばやく二度押し)することにより、FUNCレイヤーへ完全に移行します。(戻すときはもう一度ダブルタップ)

さらにこのキーをタップ&ホールド(すばやく2度押しして2度目は押しつづけ)した場合には[Shift] + [FUNC]が有効になります。この状態でたとえば[L]キーを押せば[Shift] + 右カーソル([➡️])キーと等価となり、選択範囲指定などが楽になります(個人的にはけっこう気に入っています)。

ちなみに基本的に私はファンクションキーをあまり使わない(使いこなせない?)人間ですので、そういう自分を基準にしたレイアウトでもあります。

ADJUSTレイヤー

FUNKキーと、左右どちらか一方のNUMキーを同時に押すとADJUSTレイヤーに移行します。

ADJUSTレイヤーのキーマップ
FUNKキーとどちらかのNUMキーを同時押しでADJUSTレイヤー

通常レイヤーのポジションで説明します。

左側キーボードから

[TAB]キー : QK_BOOT、リセットしてファームウェア書き込みモードに入るためのキー。

[W]キー : Windowモードにセット(未検証)

[E]キー : 拡張NICOLA

[R]キー : ローマ字入力モードに設定(初期設定)

[S]キー : 変換キー共用型NICOLAに設定

右側キーボード

[O]キー : 個人的な配列、環境(=OACO)に設定

[N]キー : NICOLA(OASYS方式)に近い配列

[M]キー : macに設定(初期設定もmac)

[ , ]キー : RGB_TOG — LED点灯のON/OFF切り替え

[ . ]キー : RGB_MOD — 点灯パターンを切り替え

ちなみにですが、[R]キー : ローマ字入力専用のキーマップって、意味なくね? という意見もあるかもしれません。たんに親指シフト処理をスルーすればローマ字入力になるからです。

余力があったらテコ入れしたいなあという思惑があってローマ字入力専用のキーマップを用意しました。ですが、いまのところ手をつけてはいません。

タップのレイアウト、ホールドのレイアウト

上述のようにQMK ファームウェアではタップ(単押し)したときのレイアウトとホールド(長押し)したときのレイアウトを自分好みに変更することができます。

標準マクロともいうべきMod-Tap(モッドタップ)以外にも、今回わたしも使っているTap Dance(タップダンス)だとか、今回は使っていませんが興味深い機能Combos(コンボ)だとか、ほんとうにいろいろなことができます。

こういう応用範囲の広さこそがQMK Firmwareの魅力であることは間違いないと思います。

と同時に、ある程度使い手を限定している側面もあるのかなあ、という気がします。

シンプルに、わかりにくいですよね。

ということでタップしたときのキーマップとホールドしたときのキーマップを表にまとめてみました。
※ あくまでもOASYSレイヤーに設定した場合のキーマップです。

全体図

OASYSレイヤーIMEオフのキーマップ
OASYSレイヤーIMEオフのキーマップ
IMEオフ時のキータップホールド
TABキーTABキーoption(Alt)キー
CtrlキーESCキーCtrlキー
(左)NUMF2キーNUM
(右)NUMF7キーNUM
FUNK次の1キーのみFUNKFUNK
(左)SpaceSpace(or F6キー)command(GUI)キー

左側のSpaceキーは、OASYSキーボードを模してIMEON時には[F6](ひらがな変換)キーとして動作します。

[F7]キー : 文字入力中このキーを押すと通常は「カタカナ」変換できます。

※ [F6]キーを押してもひらがなにならない、[F7]キーを押してもカタカナにならないよ、という場合はファンクションキーについてを参照してみてください。

タップ&ホールド、ダブルタップのレイアウト

タップ&ホールドはタンター、という感じで1回押してつづけて2回目も素早く押してそのまま(押しっぱなし)、という状態です

ダブルタップは、素早く2回押して離します。

IMEオフ時のキータップ&ホールドダブルタップ
TABキーcommand+option
(右)NUMNUMレイヤートグル
FUNKFUNK+ShiftキーFUNKレイヤートグル

NUMキー、FUNKキーはダブルタップするとそれぞれNUMレイヤー、FUNKレイヤーへ移行し、もう一度ダブルタップするともとのレイヤーにもどります。

補足

表にあるようにTABキーをタップ&ホールドすると [command]キー + [option]キーと同様の操作になります。

ですが、「親指至上主義」の煽りを受けてこの状態でFUNKキーを押すのはほぼ無理ポになってしまいました。指がとってもつりますね。

なのでTABキーをタップ&ホールドしながらShiftキーを押すことで[command]キー + [option]キー + [FUNK]キーと等価になるよう設定しました。

これはVS Codeというエディターの便利機能「マルチカーソル」に対応するだけの目的ですので、一般的にはあまり用途はないかもしれませんが、ご参考までに。