キーボードマニアIIDX

皆様、お元気ですか、Watsonと申します。 筆者はFlashes[DPA]に致命的な癖がつき、天空の夜明け[DPA]よりも易ゲージが残らなくなりました。 最近は狭間の地狩人の夢を往復する日々を送っています。

さて、筆者は手先が不器用で、文字入力でも頻繁にミスタッチを起こします。 一般的なキーボードはキーの間隔が19.05mm(=0.75in.)ないし19mmに設定されていることが多いです。 筆者はこのキーピッチを狭いと感じていますが、むしろ更に小さくてもパフォーマンスは有意には落ちないとする研究があります(例: (Pereira, 2012),(Madison, 2015))。 しかし、標準のキーピッチにおいても筆者は頻繁にミスタッチを起こしてしまいます。

各キーが、たとえばBMS[1]の専用コントローラのボタンくらい大きければ、こういうミスタッチを軽減できるかもしれません。 そう思い、BMS専コンのコントローラをキーボードに転用することを試みました。

最初に断りますが、beatmania IIDX INFINITASの公式コントローラでは、ターンテーブルの入力処理が異なり[2]JoyToKeyとの連携が取れない可能性があるので、本記事を追試しようという方はご注意願います。PlayStation2向け公式コントローラでは、このような問題は起こらないと思われます。

参考キーボード探し

とはいえ、BMS用コントローラのスイッチ数は普通[3] のキーボード[4]よりはるかに少なく、7ボタンとファンクションキー4個(PHOENIX WANの場合。FPSなどの古いモデルでは2個。)、ターンテーブル1台の、計12個のみです。このコントローラを2台横に並べるダブルプレーというスタイルにおいても、デバイスの数は(FPSでは)ボタン22個とターンテーブル2台だけです。そのため、キーボード入力の実現には複数ボタンの組み合わせが必要になります。

複数ボタンの組み合わせで一つの入力を実現するキーボードは、総称して"Chorded Keyboard"と呼ばれます。この語句で調べてみると、片手10キーのDecaTxt、片手7キーのBATキーボード(販売ページ)、さらには片手6キーのMicroWriter(非公式)などが見つかります。 しかし、これらのキーボードは1同時押しがアルファベット1文字に対応する入力方式であるため、文章を入力するにはあまりに煩雑です。文字入力装置としての実用には、1同時押しで平仮名1文字、さらに1音節まで表現できてほしいです。

調べるうちに、あるキーボードに興味を惹かれたので、次の節でそのキーボードを紹介します。

ステノワード概説

ステノワードは、日本語速記システムの一つです。このシステムは、柴田邦博(しばた・くにひろ、現株式会社スピードワープロ研究所代表取締役社長)により1991年に開発されたもので、キー数を極端に減らした専用キーボード(画像)の同時押しのパターンによって文字ないし文字列を打ち込むシステムです。

f:id:keionkakimasen:20220320002239j:plain

ステノワード天面図(画像引用: 速記道楽,『写真で見る速記 2』, http://sokkidouraku.com/t10/index.html)


この速記システムは主に、NHKをはじめとするテレビ業界でリアルタイム字幕の作成に用いられています。 (参考: 写真で見る速記 2, 速記道楽株式会社スピードワープロ研究所『「スピードワープロ」における取り組み』, 第2回デジタル放送時代の視聴覚障害者向け放送に関する研究会, 2006.)

このステノワードは放送業界に向けて販売されるもので、一般人はオークションで稀に出品される以外にはまず見ることができません。そのオークションでは教則本だけで数千円、キーボード本体に至っては20万円以上の高値で落札されるほどの代物です(落札例)。

当然情報は非常に乏しく、しかも貴重な情報源のサイトは次々にリンク切れしていきます。 筆者が参考にしたサイト、機械速記配列 Windows版 (※Webアーカイブ版)m(as)m, ステノワードを親指シフトにリマップしてみる - 錬金術師の実験室 (※Webアーカイブ版)も、幸いWebアーカイブが存在しているものの、今やリンク切れとなっています。

一方で、基本的な情報は特許公報[5]から確認できます。

キー配列

このステノワードの専用キーボードは、文字入力を基本的には左右5個ずつとその下段に左右2個[6]ずつ、計14個配置されたキーの組み合わせによって行います。

左右7個ずつ、計14個

そう、これはBMSダブルプレーで操作する鍵盤[7]の数と同じです。

さらに、ステノワードのキーボードには、文字入力キーの外側に改行キーとバックスペースキーが配置されています。

BMSでも、鍵盤の外側にはターンテーブルが存在します。

つまり、ステノワードの配列をBMSコントローラの同時押しに対応させることで、鍵盤14個とターンテーブル2枚だけでの文字入力が可能となるのです。

文字列対応表

文字列対応表は、上の特許公報にて確認できます。

左手で子音、右手で母音を押してその組み合わせによって文字を入力します。たとえば、左手で「か」キー、右手で「い」キーを同時に押すと、「き」が入力されます。 また、「濁」キーとの同時押しで濁音を、「、」キーとの同時押しによって他の子音や小書き文字を表現します。

重要なのは、これら以外にも、複数キーの同時押しによって定型的な文字の塊を一度に入力できる点です。これが、ステノワードが速記に堪えうる所以の一つでしょう。

その同時押しの定義数は2600以上(na2hiro/plover-japanese-stenoword, GitHubよりカウント)にものぼるため、ステノワードの学習コストは極めて高いです。 しかし、1モーラの入力に絞れば、ローマ字入力の学習コスト程度でできるため、この配列を始めることはそれほど難しくないでしょう。

入力例

次に、ステノワードによる文字入力の例を挙げましょう。左がキー入力、右がそのストロークで入力される文字です。 ただし、左の列の文字は順にキー[濁][た][は][か][さ][、][無変換] - [変換][。][う][あ][お][い][え]の入力に対応し、アルファベットで対応するキーを押すこと、_でそのキーを押さないことを表現しています。

PTHKSLM-NRUAOIE 文字
PT__SL_-_R_A_IE いずれにしても
PT___L_-_RU____ ますます
_THK___-____O__ ごん
P__K___-____O__
PT__SL_-____O__ どう
PT__S__-___A___ だん
P___S__-N__A_IE にあたりましょう。

このように、(速記配列全般に言えることですが、)ステノワードには、通常のキーボード配列よりも極めて少ない回数の同時押しで文章を入力できる、という特色があります。

実現法

このステノワードの配列を実際のコントローラに落とし込んでみましょう。

具体的には、ゲームコントローラの入力をJoyToKeyでキーボード操作に置き換え、さらにそのキーボード操作をDvorakJでステノワードの文字入力に置き換える、という方法で行います。

注意: 日本語IMEWindows 10 May 2020 Updateに伴い、DvorakJとの相性が悪くなっています。ですので、下の参考サイトの手順に従って、Windowsの設定から日本語IMEを「以前のバージョン」にダウングレードしましょう(参考:Windows 10 May 2020 Update とDvorakJ での親指シフト入力の問題を解消する)。

本記事では触れませんが、英語速記配列エミュレータPloverのユーザーであれば、jsonファイルでの配列定義(例:na2hiro/plover-japanese-stenoword, GitHub)を扱えることでしょう。

JoyToKey

ステノワードの文字列定義には、KS,LM,NR,UAを同時に押す配置がないので、これらのキーを23,56のボタン[8]に対応させて、同時押しの押しにくさを軽減できます。

これを用いて、下図のようにキーアサインします。

f:id:keionkakimasen:20220320061504j:plain

キーアサイン図

入力例

上のキーアサインに従って先ほどの例文の運指を並べ替えると、次のような譜面ができます。

f:id:keionkakimasen:20220320054059p:plain

例文の運指

本職のステノキャプショナーは変換込みで320文字/分の速さで入力できると言われていますが、ステノワードで一度に入力できる文字数は大小さまざまで、文章によって1ストロークの効率に大きく差が出るので、この情報だけではストロークの速さがどれほどかは判断できかねます。いかがでしたか?

DvorakJ

DvorakJの設定は、m(as)m氏によるリンクにてダウンロードできます。基本的にはこの設定に則ります。

独自拡張

特許公報の文字列対応表には、 「小書きのア行が入力できない」という欠点があります[9]。 上のDvorakJ設定ファイルが既にシート作成者によって拡張されているため、小書きのア行自体は入力できます。 しかし、小書きのア行を含む拗音は1打鍵で入力できず、手間が生じます。

そこで、配列を勝手に改変して、より広い外来語への対応を目指しました。 ステノワードの同時押し定義は「無変換」キーを使用していないので、「無変換」キーを用いる同時押しを勝手に定義してしまうことができます。

このようにして改変したExcelファイルとDvorakJ設定ファイルをGitHubリポジトリにコミットしているので、興味のある人は是非お使いください。

展望

今回はキー配列を定義したのみでしたが、今後はSTART/SELECTキーを使いながら記号入力に対応させるとともに、実際にステノワード配列を練習する所存です。

 

今あなたが日常的に訪れているサイトも、明日には消えているかもしれません。スナップショットを保存しておくことは、きっと後人の役に立つことでしょう。

 


  1. beatmania IIDXを模した同人音楽ゲームで使用される譜面データファイル、転じてその同人ゲーム自身。 ↩︎

  2. beatmania IIDX INFINITAS公式コントローラでは、ターンテーブルの回転に合わせて連続的に入力値が変化するのに対し、BMS用コントローラでは、回転方向によって不連続に値が変化する。 ↩︎

  3. JIS X 6002, ANSI INCITS 154など。 ↩︎

  4. JIS配列で109個、US ASCII配列で101個。 ↩︎

  5. 柴田邦博『文字の入力方法』、公開特許公報(A) 特開昭63-10220 ↩︎

  6. 正確には、無変換キーはキーの組み合わせに用いられない。 ↩︎

  7. ここでは、鍵盤の形に並んだボタンのこと。イタリアには、Michela keyboardという本当に楽器の鍵盤を使った速記システムがあるらしい。 ↩︎

  8. BMSダブルプレーでも特に押しにくい2ボタン同時押しの組み合わせ。 ↩︎

  9. 正確には、「ェ」は「チェ」と矢印・BackSpaceキーから生成できる。 ↩︎