現代PCの基礎知識(8):人間とコンピュータを繋ぐ最も身近なHID

2017年1月24日(火)
沖 勝(おき まさる)

はじめに

コンピュータは日本語で「電子計算機」という名前の通り計算をする機械である。しかし、コンピュータがただ黙々と計算するだけの機械でないことは皆さんもご承知のとおりだ。そこには何らかの手段で人間がやらせたいことや入力したいデータをコンピュータに伝える手段が必要となる。

そんな人間の意志や要望を対話的にコンピュータへ伝える入力装置がHID(Human Interface Device)である。今回はそんなHIDの中でも、特に我々にとって身近で各人のこだわりが強いと思われるキーボードとマウスについて解説する。

PC操作の中心となるキーボード

PCにおけるHIDの代表と言えばキーボードだ。プログラムコードを打ち込むにしろ、ツイッターで独り言をつぶやくにしろ、ビルドのためのコマンドを投入するにしろ、キーボードは必要不可欠なものと言っていい。スマートフォンではフリック入力などソフトウェアキーボードによる入力が中心であり、またAppleのSiriなどの音声入力も一部で使われているが、黎明期のW-ZERO3や独自の形状で固定ファンも多いBlackberryのような物理キーボードを備えたスマートフォンを欲している人もいるだろう。

我々が触れるPCの標準的キーボードにはQWERTYと呼ばれるキー配置が採用されている。ご存知の方も多いと思うが、キーボード左上にあるアルファベットキーがQ、W、E、R、T、Yの並び順になっているものだ。

このQWERTYキー配列だが、いわゆる日本語キーボード、英語キーボードというように(主に国ごとに)細かい違いがある。アルファベットの配列は共通だが、記号などの位置が微妙に異なる。例えば[SHIFT]+[2]キーは通常の日本語環境ではダブルクォーテーションであるが、英語キーボードではアットマークになる。物理的には[Enter]キーの形状が[SHIFT]のように横長か、縦2段分の大きなものかといった違いが見られる。

伝統的にはキーの数で区別できたことから、101key(英語)あるいは106key(日本語)などと呼ばれることもあったが、[Windows]キーが付くようになってキーの数は101でも106でもなくなった。日本語キーボードの配列はJIS(Japan Industrial Standards:日本工業規格)で規定されていることからJISキー配列とも呼ばれる。英語キーボードの場合はASCII配列などとも呼ばれるが、ANSI(American National Standards Institute:米国国家規格協会)により規定されていることからANSIキー配列とする文献もある。

キー配列とOSのサポートの関係

近年リリースされているメジャーなOSの多くは日本語がサポートされている。日本語キーボードの利用も想定されていることから、キーの刻印と同じ文字が正しく入力できるようにレイアウトを選択できることが多いが、キーボードを接続するだけでキー配列を自動検出する技術は未だにない。

一例として、有名なLinuxディストリビューションの1つであるUbuntuでは、インストール時にキーボードレイアウトを選択する画面がある(図1)(デフォルトではあらかじめ選択した地域で最も使われるであろうレイアウトが選ばれる)。明示的に選択されなかった場合はいくつかのキーを実際に打鍵するように指示し、発生するキーコードからどのキーボードが使われているかを推測するロジックがある。国際化対応における苦労のごく一部が窺い知れる。

図1:Ubuntu serverのインストール画面。キーボードの種類を選択するが、直前にタイムゾーンを指定したためデフォルトでJapaneseが選ばれている

想定と異なる組み合わせでは刻印通りに文字を入力できない場合がある。例えば、基本的に日本語キーボードの接続が想定されている日本語版Windowsに英語キーボードを接続するとどうなるか。アルファベットの入力には戸惑わないとしても、刻印通りに記号が入力できず色々なキーを試す羽目に陥ったり、日本語入力のモード切替に使うキー(例えば[半角/全角]キーに相当するもの)がどれなのか分からなかったり、どうやってもキーボードから入力できない文字があったりと、いらぬ苦労を背負い込むことになる。こんな体験をしたことがある方はそれなりに多いのではないか。

最近では開発環境でVMwareやVirtualboxなどの仮想マシンを動かしたり、外部からリモートデスクトップやVNC(Virtual Network Computing)などで遠隔操作したりするケースも多いだろう。これらの環境が想定しているキーボードがどれなのかも悩ましい問題だ。特にVNCで日本語キーボードに対応していない(英語キーボードのつもりで動く)アプリケーションでは、遠隔マシンを日本語キーボードを英語キーボードとして操作することになるため、普通に英語キーボードを接続する場合と比べてさらにややこしくなる。

テンキーがないタイプのキーボードは86keyなどと呼ばれ、可搬性を重視した小型ノートPCに採用されているほか、最近ではタブレット機のオプションとして用意されている。コンパクトタイプのキーボードは面積の制限により標準的な配列からやや離れてしまうことも多い。よく見ずに買ってきてタイプしてみたら正しく入力されず、よく見ると一番下のZ列のキー配置が標準よりひとつ左にずれていたことや「配列は大丈夫だから」とうっかり手を出して、右側にある記号キーが妙に細長いキートップで打ちづらいキーボードだったこともあった。それ以来、筆者はコンパクトタイプのキーボードを見かけると配列やキートップ形状が怪しくないか注意する癖がついてしまった。ノートPCの場合はキーボードを自在に交換できないため、さらに要注意である(図2)。

図2:昔の超小型PC「VAIO U1」のキーボード。カッコやマイナスなどのキーが数字キーの上部にあるという変則的な配列だ

なお、世の中のキーボード配列はQWERTYだけではない。有名どころではDVORAK親指シフトなどの配列がある。またフランスではQWERTY配列の[Q]キーと[A]キーの位置が入れ替わているAZERTY配列が使われていると言うし、ドイツなどでもQWERTY配列から少し変更されたQWERTZ配列が使われているらしい。いずれも母国語における利用頻度の高いアルファベットとそうでないものの位置を入れ替えているとのことだ。

多くの日本語キーボードはQWERTY配列だが、[変換]キーや[ひらがな/カタカナ]キーなどの日本語入力に必要と思われるキーが追加されている。もちろんSKK(Simple Kana to Kanji conversion program:オープンソースの日本語入力システム)やT-Code(無連想式漢字直接入力。漢字を直接入力できる)などの入力方式では、これらの特殊なキーを一切使わずに日本語入力が可能だ。特殊キーを並べることでスペースキーが短くなった製品も多々あり、それを嫌って英語キーボードを選択するという人もいる。

他のキーを組み合わせて使うmodifier key

[SHIFT][CTRL][ALT]など、他のアルファベットキーと組み合わせて使うキーをmodifier keyと呼ぶ。標準的なキーボードでは左右に1つずつ配置されているが、左右両方とも使っている人はどれくらいいるだろうか。筆者の場合は[CTRL]キーも[ALT]キーもほぼ左側だけを使う。[SHIFT]キーは左右両方使っているが、特に意識して使い分けているわけではない。

かなり昔に一世を風靡し、やがてOracleに買収されたSun Microsystemsのワークステーションでは「Type 4」「Type 5」と呼ばれるキーボードが存在していた。[CTRL]キーは[A]キーの左にあり、システム停止用に[STOP]キーと呼ばれるものがあった([STOP]+[A]キーで動作中のOSを強制的に一時停止しブートモニターを起動できた)。いわゆるASCII配列で、当時使っていたPCはJIS配列であったため、一時期筆者はJISとASCIIどちらのキーボードも難なく使えていた(触った感触でどちらの配列か無意識に打てるくらいだった)。最近ではiPad用のキーボードがASCII配列であるため、常用していれば似たようなことができるようになっていたかもしれない。

標準的なPCキーボードでは[CTRL]キーの位置が左下(左[SHIFT]キーの下)になるが、筆者はSunのワークステーションで同じ位置にある[CAPS LOCK]キーと入れ替えている。このキーの入れ替えはWindowsのレジストリを書き換えて設定している(大きな更新の際は元に戻ってしまうため都度書き換えている。また書き換え直後には再起動が必要)。32bit時代には「AltIME」と呼ばれるフリーソフトウェアを使っていたが、当時64bit Windowsで使えなかったことから使用をやめてしまい、その後は動向をチェックしていない。また、ワークステーション上でX Window Systemを使っていた頃は「xmodmap」というキーマップ変更ソフトウェアを使って入れ替えていた。

配列だけで好みは決まらない

ここまでキー配列について長々と書いてきたが、キーボードの好みは配列だけの問題ではない。「まったくこだわらない」という人もいれば「自分のパフォーマンスを発揮するにはこのキーボードでないと」というこだわりを持つ人もいるだろう。そこにはキーを押したときの感触、押し込む深さ(ストローク)、サイズ、重さ(軽さ)など、さまざまな要素がある。

例えば「茶軸」という単語を目にしたことがあるだろうか。これは独ZF Electronics社製品のキースイッチに使われているパーツの俗称で、具体的にはキースイッチブランド「CHERRY MXシリーズ」製品の1つ「MX Brown」である。名前の通り軸部分が茶色のメカニカルスイッチで、キーを押すたびにカチカチ音が鳴るのが特徴的だ。

CHERRY MXには茶軸の他にも赤軸、黒軸、青軸といったそれぞれ打鍵感の異なるスイッチが用意されている。採用しているキーボードには特徴として明記されているため、好みやこだわりで選ぶ際の一助となるだろう。もっともメカニカルスイッチは打鍵音がそれなりに大きくうるさいため、気にして避けるという人や逆に「あのカチカチが心地よい」という人もいる。大昔のPCキーボードはメカニカルでかつストロークが深く重かったため、タイプし続けると指がかなり疲れていた。個人的には現在のPCキーボードの大半は逆にストロークが浅すぎ、また打鍵感も軽すぎるような気がしている。

筆者がふだんデスクトップPC用として使っているのは、かつてIBMが発売していた「スペースセーバーII(日本語版)」と呼ばれるキーボードだ(図3)。[G]キーと[H]キーの間に赤いポインティングデバイス「TrackPoint」を備えており、ホームポジションから大きく手を動かすことなくマウス操作ができるテンキーレスのコンパクトキーボードである。残念ながらすでに製造が終わって10年以上が経過しているため、新品の入手は絶望的だ。つまり壊れてしまえばおしまいなのだが、数年前に「秋葉原のジャンク屋に未使用品(?)が積まれている」という情報を得た筆者は、そこで3本ほどまとめ買いをして将来の経年劣化や故障に備えている。なお製品自体はメンブレンスイッチを採用し、ハイエンドどいうほど高級ではない。

図3:テンキーレスのキーボード「スペースセーバーII(日本語)」。15年以上使っているが壊れない頑丈な製品だ

テンキーレスのキーボードでは「Happy Hacking Keyboard(HHKBあるいはHHK)」を使っている人も多いと思う。いくつかバリエーションがあり、[ファンクション(F1~12)]キーや[カーソル(← → ↑ ↓]キーがなく(一部のモデルにはある)非常にコンパクトだが、タイピングのしやすさに定評があり、多くのファンを獲得している。タッチタイピングできることを前提とした無刻印バージョンも発売されている。廉価版の「HHKB Lite2」はメンブレンスイッチを採用している。

こだわりのキーボードといえば「Realforce」も忘れてはいけない。もともと銀行窓口の業務など向けに業務用キーボードを発売している東プレが一般市場向けに発売したキーボードである。静電容量無接点方式と呼ばれるスイッチを採用しており、キーは軽く動作音は小さく、耐久性も高いといった特徴を備えている。

変わり種のキーボードとしては、左右が分離された外観が特徴の「Kinesis keyboard」や「Microsoft Natural Keyboard」が有名で、他にも全部のキーにLEDを組み込んで自由に発光させることができる製品や、実用性には疑問符が付くが平面にキーボードを投影し、それをタッチすることで入力できる投影型キーボードなどがある。携帯性を重視した丸められるシリコン製キーボードは緊急時には良さそうだが、常用するには相当な忍耐が必要と考えている。

近年、ノートPCのキーボードとして特徴的なのがキーとキーの間に隙間がある「アイソレーションキーボード」と呼ばれるものだ(図4)。最初に薄型ノートPCが登場したのはもう20年以上前であるが、それ以来ノートPCのキーボードは打鍵感を犠牲にして薄型化を進め現在に至ったと筆者は考えている。大昔はIBMのThinkPadシリーズのキーボードが好みで230Cs、X23やT40といった機種を購入していたが、現在はそれらも失われてしまったため、ノートPCのキーボードに関して筆者はこだわるのをやめてしまった。最近の話題としては「Touch bar」を搭載した新MacBook Proのキーボードが相当ストロークが浅く打ち慣れないと聞いている。人によってはMacBook ProにHHKを繋いでいるという話も聞いたりもする。ここまで来るとこだわりはじめればキリがない世界と言えるのかもしれない。

図4:MacBook Proのアイソレーションキーボード。[Control]キーは[A]キーの左にある

タッチタイプできるかで効率が変わる

「開発者ならできて当然!」と言われそうだが、あえて書くとキーボード入力はタッチタイプできるかが大きく効率に影響する。いちいちキーの刻印を見ながら入力するのと、まったく刻印を見なくても正確にタイプできるのとでは速度に大差が出るのは間違いない。現在、学校の授業などでタイピングを習ったりするのか筆者は知らないのだが、いつの頃からかホームポジションに指を置く癖がついてしまっている。多くのキーボードで両手の人差し指を置く[F]キーと[J]キーに突起など感触で分かる印があり、そこに指を置いて安心するのだ。

逆に、ホームポジションを表す印のないキーボードだとさすがに少し困る。たまにうっかり1つずれた位置でタイプして、結果全部打ち直しになるといったこともある。けっこう昔、ゲームセンターに「Typing of the dead」というゲームがあった。筐体に備えられたキーボードで画面に表示される単語や文章を打ち込み、迫り来るゾンビを倒していくというもので、これもまさにタッチタイプできないと進めないゲームであった。

GUI時代に欠かせないポインティングデバイス

マウスもキーボードとともに現在のPCにはほぼ欠かせないデバイスといえる。「ほぼ」と言ったのはマウス以外のポインティングデバイスを使用する選択肢もあり、そのようなデバイスを使う場合にはマウスが繋がれていないコンピュータシステムも実在するからである。例えば、ノートPCにおけるタッチパッドを思い浮かべてもらえれば良い。

現在主流のマウスは2ボタンにホイールが付いたものだ(図5)。ホイールが付いたマウスは筆者の記憶にある限り「Microsoft IntelliMouse」が最古だが、実は登場から20年が経過しているのだ。それ以前は大よそPC用マウスは2ボタン、ワークステーション用マウスは3ボタン、Mac用は1ボタンだった。

図5:ホイールの付いた典型的な2ボタンマウス。多機能な製品ではマウス横にボタンが付いたものもある

マウスの問題は、操作するときにキーボード(ホームポジション)から手を大きく離す必要がある点だろう。「できるだけキーボードから手を放したくない」という開発者も多いはずだ。そこからGUI環境でもすべてキーボードショートカットで操作する(既存のショートカットを覚える、あるいは新しくショートカットを割り当てる)人もいれば、ノートPCのようにタッチパッドの付いたキーボードを使う人もいる。

筆者の場合は、前述したスペースセーバーIIのTrackPointでホームポジションから大きく手を動かさずにポインティングデバイスを操作している(図6)。筆者としてはTrackPointは比較的自在に操作できるデバイスという認識なのだが、「これが苦手」という人もおり、またすでに現行品ではないということから、特におススメはしない。

図6:中央の赤いボッチがスペースセーバーIIのTrackPointだ。傾けることでマウスカーソルをその向きに移動させる

最近よく目にする「2-in-1」と呼ばれるクラムシェル(折りたたみ式)とタブレット両方の形態で利用できるPCでは、ポインティングデバイスがタッチパネルであることが多い。タッチパネルはタブレットの操作と同様に、見えている画像オブジェクトに直接触れる感覚で操作できることから比較的直感的で分かりやすいというのが大きな利点だ。逆にタッチパネル機能を持たないクラムシェル型ノートPCやタッチパネル非対応のデスクトップ用モニターで、思わず液晶に触れてしまったという人も多いのではないだろうか。

ノートPC用のポインティングデバイスとしてはタッチパッドが主流である(図7)。やはり薄型というフォームファクターにマッチした結果なのだろうか。タッチパッドが出始めた頃はさほどノートPCのプロセッサ性能が高くないこともあってか、安価な感圧式で感度の悪い製品も多く、誤タッチなどが頻出して筆者はずっと敬遠していた。

しかし、近年のタッチパッドはセンシング技術の発達のおかげか操作性はかなり改善され、複数本の指による特殊なゼスチャなどマルチタッチ対応の製品もあり、昔と比較して避けて通るほどではないと思うようになった。もっとも、通常のクラムシェル型ノートPCの場合、Lenovo ThinkPadも含めてタッチパッドを搭載した製品ばかりなので避けようがないとも言える。

図7:MacBook Proのタッチパッド。マルチタッチ対応でしスクロール操作などもできる

マイナーながらも昔からあり、根強い人気で現在も発売されているポインティングデバイスとしてトラックボールがある(図8)。デバイスに付いた球を指で転がしてマウスカーソルを動かすものだ。昔はThinkPad 220やLet's Note mini、Digital HiNote Ultra、PoewrBookなどトラックボールを内蔵したノートPCは数多くあったが、ある程度厚みが必要なことから、現在主流の薄型ノートPC製品でトラックボールを内蔵したものは皆無と言っていい。

図8:Microsoftの「IntelliMouse TrackBall」。Windows 95対応、PC98-NXシリーズ対応というのが時代を感じさせる

なお、現在のマウスは光学式が主流だが、昔のマウスは多くが機械式であった。マウスを動かすと底面にあるボールが転がり、その回転を検知してマウスカーソルを操作していた。トラックボールはこの機械式マウスをひっくり返して、本体を動かさずにボールだけ回転させているようなものとも言える。大昔のX68000に付属していた「マウス・トラックボール」はまさにこれを体現したようなデバイスであった。

「変わり種のポインティングデバイス」と言って最近思い出すのは、超小型クラムシェル型PC「GPD WIN」のスティックデバイスである(図9)。一見するとゲームパッドのよう(実際のところ見た目そのままゲームパッドである)だが、本体のスイッチを切り替えると「マウスモード」になるのだ。右スティックがカーソル移動、本体奥の左右にあるボタンがそのまま左ボタン、右ボタンになりクリックを担当、左スティックはホイールに相当する。実際に動かしてみると意外と操作性は良いのだが、遠めに見るとゲームで遊んでいるようにしか見えないのが玉にキズである。

図9:超小型クラムシェル型PC「GPD WIN」。ゲームパッドがマウス代わりになる

HIDとPCをつなぐインタフェース

最近のPCには備えられていないことも多いが、少し前のPCキーボードやマウスはPS/2端子からPS/2インタフェースを使って本体と接続していた(図10)。PS/2は「IBM Personal System/2」の略で、もともとはIBMが発売していたパソコンの製品名であった。そのPS/2で採用された通信規格のコネクタであることから、今でもPS/2と呼ばれている。

図10:PS/2端子。紫がキーボードで緑がマウスだ

PS/2接続のキーボードやマウスは、動作中の端子の抜き差し、活線挿抜(電源が入った状態で抜き差しすること)が仕様として正式にはサポートされていない。一度抜いて差し込んでも認識されず、キー入力やマウス操作が不可能だった。またPS/2以前には「ATキーボード」と呼ばれるDIN端子の付いた製品が使われていたが、これも活線挿抜をサポートしていなかった(図11)。ATキーボードが使われていたのはMS-DOSの時代でマウスは一般的でなく、接続にはDSUB 9ピンのシリアル端子に接続していた。

図11:ATキーボードのDIN端子。となりのUSB-Aと比較するとコネクタの大きさが分かる

現代ではキーボードやマウスはUSBあるいはBluetoothで接続するのが一般的だ。改めて言うまでもなくUSBは活線挿抜に対応した規格であり、ハードウェア的にキーボードやマウスの自由な抜き差しも問題なく、またOSも自由な抜き差しが想定されている。

無線接続のBluetoothは便利だが、デバイス側に電池等による電源供給が必要だったり、BIOSを操作する際には認識に時間がかかることがあったりするため、普段はBluetooth接続でも緊急用にUSBキーボードを用意しておくなどしておいたほうが安心だ。キーボードでは無線ゆえに遅延が発生することを嫌って有線接続にする人もいるかもしれない。HIDからはやや外れるが、Bluetoothイヤホン(ヘッドセット)でリズムゲームをプレイすると遅延が影響しタイミングが全く合わず使い物にならなかったことを付記しておく。

ときにはメンテナンスを

ところで、ネットなどで「キーボードは汚い!」という記事を見かけたことはないだろうか。ノートPCのアイソレーションキーボードのような形状では分解してみないと確認できないが、実際にキーボードの隙間から内部に髪の毛やほこりなどが入り込み、衛生状態が良いとは言えない。デスクトップPCでアイソレーションキーボード以外のキーボードを使用していれば、キートップを外して掃除できる(図12)。年末年始や季節の変わり目なのタイミングで、ときには掃除してみよう。

図12:掃除のためキートップを外したスペースセーバーII。キーを無事に元の位置に戻せるか不安な人も多いだろう

まとめ

近年、一般に浸透しているコンピューティングデバイスの筆頭はPCではなくスマートフォンになってしまったが、開発環境という点では圧倒的にPC(WindowsだけでなくMacやLinux等を含む)が主流である。そして、PCと人間を繋ぐインタフェースとしてHIDは必要不可欠なデバイスだ。「どのような製品を選ぶか」は人それぞれであるが、長年使える手になじむ製品に出会えれば、PC操作の快適さはぐんと向上すると思われる。本稿が自分なりの定番HIDを見つけるヒントになれば幸いである。

著者
沖 勝(おき まさる)
株式会社インターネットイニシアティブ
前職時代は「沖@沖」と名乗り、X68000用のフリーソフトウェアを発表していた。2001年より株式会社インターネットイニシアティブに勤務、自社開発の高機能ルータSEIL(ザイル)の開発に従事し、OS移植やデバイスドライバ開発などに携わった。2013年よりオープンソースソフトウェアLagopus(ラゴパス)の開発に従事、パケット処理機能の設計及びプログラミングを担当している。

連載バックナンバー

Think ITメルマガ会員登録受付中

Think ITでは、技術情報が詰まったメールマガジン「Think IT Weekly」の配信サービスを提供しています。メルマガ会員登録を済ませれば、メルマガだけでなく、さまざまな限定特典を入手できるようになります。

Think ITメルマガ会員のサービス内容を見る

他にもこの記事が読まれています