ASCII.jpの読者には言うまでもないだろうが、Windows 8はタッチパネル搭載のパソコンだけでなく、マウスとキーボードで操作する従来型のデスクトップパソコンやノートパソコンでも利用可能だ。
一方で、多くのクラムシェル型ノートパソコンは、パームレスト部分にタッチパッドを装備している。タッチパッドはマウスと同じポインティングデバイスだが、一部の機種では、ここで、Windows 8のエッジスワイプ※1などのジェスチャーを利用できる。一見するとこれらの機能は、Windows 8の標準の機能のように見える。だが実際には、タッチパッド側のドライバーソフトが処理している。
※1 画面の端から中央に向かって指を滑らせる(スワイプ)操作。端からではないスワイプ操作とは別扱い。
マイクロソフトはWindows 8搭載パソコンのタッチパッドに対して、いくつかの推奨機能を示している。まずタッチパッドのサイズだが、横105×縦65mm以上のサイズにすることが望ましいとしている。しかしタッチパッドが横90×縦55mm以下のサイズの場合、2本指によるスクロール操作や2本指タップによる「右ボタンクリック」を実装することが推奨されている。これよりも大きなタッチパッドでは、これらに加えて左右と上からのエッジスワイプ操作に対応することが、推奨されているといった具合だ。
これらはあくまでも推奨の仕様なので、すべてのWindows 8プリインストールマシンのタッチパッドに実装されるわけではない。それでも対応するメーカーは少なくないと思われる。というのは、こうした実装に必要なドライバーは、タッチパッドそのもののメーカーが提供するのが一般的である。競合他社との競争上、タッチパッドメーカーはWindows 8対応を行なわざるをえなくなる。もちろん、Windows 8対応をやめて安価な製品にするという選択肢も可能で、製品によってはそういうものも出てくるだろう。
タッチパッドとタッチパネルは
「違う」デバイスとして扱われる
タッチパッドがドライバー側でこうした対応をする必要があるのは、タッチパッドがマウスと同じ、Windowsに対して場所1点のみを報告するポインティングデバイスとして扱われているからだ。しかしタッチパネルの場合は、スワイプやピンチといった操作をWindows 8が解釈しているので、ドライバーやアプリケーション側は解釈の仕方を気にする必要がない。こうした違いが生じるのは、タッチパネルは、マウスやタッチパッドとは違ったデバイスとして扱われているからだ。
ここでは説明のため、マウスやタッチパッド、スタイラスやペンを「ポインティング」デバイス、タッチパネルを「タッチ」デバイスと呼ぶ。ポインティングデバイスはアプリケーションに対して、ユーザーが指示した座標を1点のみ報告する。これに対してタッチデバイスは、ユーザーが同時に触れた座標を複数報告できるようになっている。同時に何点まで検出可能かは、デバイスの特性によって違う。
こうした違いは、デバイスドライバーの階層構造による。もともとのWindowsはポインティングデバイスのみを扱っており、マウスやタッチパッドなどは「マウスクラスドライバー」(MouClass.sys)が扱う。この下には、接続方法などにより違いがあるのだが、USB接続の場合には、「マウスHIDドライバー」(MouHDI.sys)があり、その下に「HIDクラスドライバー」(HIDCLASS.SYS)といった具合に、HIDデバイスの階層構造が構築されている。

この連載の記事
- 第34回 Windows 8の狙いは、UIの変化よりもAPIの変化が本質
- 第33回 Windows 8が動作しなくなった? 新しくなった修復機能
- 第32回 Windows 8でIMEに求められる新しい要素とはなにか?
- 第31回 Windows 8の無線LANをコマンドラインで細かく制御
- 第30回 Windows 8をマウスで使いやすくするレジストリの小技
- 第29回 周辺機器・アプリがWindows 8/RTで動くか確認する方法
- 第28回 Windows 8のキーボードショートカットを全公開
- 第27回 Windows 8が使いにくい? マウスを変えると印象も変わる
- 第26回 実はNFCに対応しているWindows 8 ただしアプリは不足
- 第24回 Surfaceから見えるWindows RTの実像と、将来PCへの影響
- この連載の一覧へ