- バックエンド / リーダー候補
- PdM
- Webエンジニア(シニア)
- Other occupations (18)
- Development
- Business
こんにちは、Wantedly Visit のバックエンドエンジニアをしている鴛海です。
本稿は、WANTEDLY TECH BOOK 10 から「生産性を向上させるソフトウェア的入力環境」という章を抜粋し加筆修正を加えたものです。ウォンテッドリーでは WANTEDLY TECH BOOK のうち最新版を除いた電子版を無料で配布しています。ぜひ読んでみてください。
以下、本文です。
はじめに
みなさんは入力環境と聞いて何を想像するでしょうか。分割キーボードや HHKB などの物理的なキーボード?Google 日本語入力や ATOK のような IME?実は入力環境にはもっと多くの種類が存在します。本稿では以下の 4種類の入力環境を考えます。
- 物理キーボード: HHKB や分割キーボードなどのデバイスや US、JIS 配列などの物理的キーボード配列
- キーボード配列: QWERTY や Dvorak などの仮想的なキーボード配列
- 日本語入力方式: Google 日本語入力や ATOK などの IME
- 日本語入力拡張: AZIK、ACT など(後述)の日本語入力を拡張するもの
物理キーボードと日本語入力方式は多くの人がカスタマイズしたことがあるのではないでしょうか。対して、QWERTY や Dvorak などの名前は聞いたことがある人はいるかもしれませんが、これらのような仮想的なキーボード配列をカスタマイズしたことがある人はあまりいないかもしれません。日本語入力拡張に至っては聞いたこともに人がほとんどだと思います。
筆者は数年前までは多くの人と同じように、MacBook のキーボードに印字された通りの QWERTY キーボードと Google 日本語入力を使っていました。元々タイプ速度はそこまで速くなく考えるスピードや話すスピードとタイピング速度があまりにも違うことにストレスを感じていました。そこで入力環境を改善し、プログラミングをするときも日本語でこうやって執筆するときも頭の中に浮んだ文がすらすらとタイピングできるようになりました。これは単純に指の動きが小さくなったことに加えて自分に合った日本語入力方式見つけたことも大きいと思っています。
本稿では Dvorak のような入力環境を破壊的に変えるものから、QWERTY + Google 日本語入力のような一般的な入力環境に上乗せして利用できるような拡張も紹介します。そのため対象読者はキーボードを使う人すべてです。毎日行うキーボードによる文字入力を少しでも効率良く、気持ちよく行うことができるように改善していきましょう。
筆者の入力環境
まずは筆者の主な入力環境を紹介します。
- キーボード配列: Programmer Dvorak
- 日本語入力方式: SKK (AquaSKK, ddskk)
- 日本語入力拡張: ACT
- 物理キーボード: Apple Magic Keyboard (JIS 配列) x2
聞き慣れない単語が多いと思います。この中で Dvorak と ACT (AZIK) について解説します。
指の動きを小さくするキー配列 「Dvorak」
多くの人がキーボードの印字は左上からQWERTYで始まるQWERTY配列を使用していると思います。US 配列や JIS 配列で多少記号の配置は違えど英字の配置は同じです。しかし、これは本当に理にかなった配置なのでしょうか。QWERTY 配列はまだ 2本指や 4本指でタイピングをしていた頃の配列であり、現在のような全ての指でタイビングをするのに適しているとは思えません。QWERTY 以外のキーボード配列の 1つに Dvorak 配列[1]というものがあります。Dvorak 配列は、人間工学的によりよりよいキー配置にすることで手に負担を低減することを目的としたキーボード配列です。以下の図は Dvorak 配列の一般的な配列です。
https://commons.wikimedia.org/wiki/File:Dvorak_keyboard_layout_diagram.png
左中段に母音が集まっていることで左右交互打鍵率が上がるのが最大の特徴です。Dvorak 配列は英文用に作られていますが、日本語はより子音と母音が交互に繰り替えされるので日本語にもある程度は有効です。以下の図は「しんちょくだめです」( shinchokudamedesu
) を Dvorak と QWERTY で打鍵したときの左右どちらの指で打鍵しているかを表わしたものです。
ここで左右交互打鍵率を(前後の文字を違う指で打鍵した回数) / (文字数 - 1)
とすると、QWERTY は 43%、 Dvorak は 68% となり 25% も交互打鍵率が高いことが分かります。
会話感覚のなめらかな日本語入力を実現する 「AZIK」「ACT」
現在日本語入力形式として最も普及しているのはローマ字入力です。ローマ字入力も QWERTY と同じように特に疑問に思ったことのある人は少ないかもしれません。しかし、ローマ入力より効率のいい日本語入力はないのでしょうか。QWERTY の ローマ字入力を元に日本語入力を拡張した AZIK というものが存在します。
AZIK はローマ字入力を拡張し、日本語入力をより効率的にするためのものです。AZIK の総合解説書には効果として以下の 5つを挙げています。
- 全体的に打鍵が非常に滑らかになります。(疲労も少なくなるでしょう)
- 打鍵数が通常のローマ字よりも約12%[*] 少なくなります。
- ミスタイプの多い「ん」「っ」「ー」が楽に打てるようになります。
- よく出てくる拗音、打ちにくい拗音が楽に打てます。
- その他これまで打ちにくかった文字が楽に打てるようになります。
また、理念として「日常の業務に支障をきたさないでスムーズに移行できること」、「技能に対する投資のリスクを最小限に抑えること」と謳っており、ローマ字入力に慣れている人が移行しやすいようになっています。
AZIK の拡張はいくつかの拡張をしますが、ここでは「撥音拡張」と「二重母音拡張」について解説します。
撥音拡張
撥音拡張とは「母音+ん」の組み合せを1打で打てるようにする拡張です。例えば、「kansenshou」という単語には「an」と「en」が含まれています。AZIK の撥音拡張では各母音の1つ下のキーによって入力できるので「an」は「z」で、「en」は「x」で入力することができます。
これにより 2打節約できるというメリットもありますが、それよりも話すような感覚でなめらかなリズムで打鍵できるのがメリットだと筆者は考えています。「か」と発音するときに「k」と「a」を分けて考えないように「かん」と発音するときに「ka」と「n」のように「ん」を切り分けて考えてはいないと思います。ローマ字入力では「子音+母音」の 2打鍵のことが大半のため、「kan」のような「子音+母音+ん」の3打鍵が 2打鍵になることで他と同じリズムで打鍵することができるというのが撥音拡張のメリットです。また、各母音の1つ下のキーというのも覚えやすく学習コストが低いのも魅力です。
二重母音拡張
二重母音拡張とは母音が連続で続く「ou」「ai」などを1打で打てるようにする拡張です。例えば、「hyoushoujou」という単語には「ou」という二重母音が 3つ含まれています。AZIK では「ai」「uu」「ei」「ou」という二重母音が打てるようになっており、それぞれ「q」「h」「w」「p」に対応しています。メリットは撥音拡張と同様なので省略しますが、AZIK の場合撥音拡張と違ってキーの位置が分かりにくいので少し学習コストが必要かもしれません。
AZIK on Dvorak = ACT
AZIK での拡張を説明してきましたが、同様の拡張を Dvorak 配列で行う ACT という拡張も存在します。Dvorak の場合母音が左手中段に集約されているため、先程説明した撥音拡張と二重母音の位置はそれぞれ「母音の1段下」、「母音の1段上」と分かりやすくなっています。さらに、本来子音である「n」を母音と同時に打てるため交互打鍵率も向上します。また Dvorak 特有の事情として日本語で頻出する「k」が打ちにくい問題がありますが、ACT では「c」を子音として「か行」を打つことができます。
例えば「かんせんしょうよぼう」という文字を打ったときに、ACT を使わない Dvorak とACT を使った Dvorak を比較すると打鍵数は15から11に、交互打鍵率は 57% から 90%になります。
ストレスのない入力をめざして
PC を使って文字を打つ行為は誰しも毎日行っています。少しでも速く、少しでもストレスなく打つことができれば、文章を考えることに集中することができます。議事録を取るとき、コードを書くとき、ブログや本の原稿書くとき...入力環境を整えれば様々な場面で活躍してくれます。1つの文で見れば数打鍵減っただけ、交互打鍵率が少し上がっただけに見えるかもしれません。しかし、革命的な方法やデバイスが出ない限り一生文字を打つことは付きまといます。今学習して今後の入力生活をよりよいものにしませんか?筆者は脳波で入力できるデバイスが出ることを心待ちにしています。
[1] 筆者が使っているのは Dvorak 配列の亜種である Programmer Dvorak ですが、英字の配置は Dvorak と同じです。Programmer Dvorak は記号や数字の位置が変更されていて、プログラミングでよく使う記号が打ちやすくなっています。