• マウスレス ホィールワールド

手を動かすのが面倒になってきたので、今はトラックボールを使っている。このトラックボールにもホィールがある。毎日パソコンを操作しているとホィールをずっと操作していることも多い。Webブラウザ、PDFビューアー、エクスプローラー、その他の多くのウィンドウをホィールで操作している。この頻度はかなり高い。マウスの操作は、その多くがキーボードで代用できるが、ホィールの操作は、カーソルキーやPageUp、PageDownキーになるため、ホームポジションから手を離す必要がある。だとしたら、ホィールを操作しても同じなので、自然とホィール操作になる。

また、タブレットなどのキーボードを持たないコンピューターでも、ホィールがあると便利だ。昔のソニーの携帯電話やPalm互換機には「ジョグダイヤル」がついていた。ビデオ編集機器などで使われていた機構をモバイル機器に持ち込んだものだ。便利な機能だが、単純な上下カーソルキーなどと比べるとコストが高く、機構部品の摩滅、故障など、不利な点が多くマウス以外では見かけなくなった。マウスにホィールが残っているのは、マウスがある種の「消耗品」だからだろう。

トラックボールは右に置いているが、反対にもホィールが欲しくなった。ペンや電話など右手で何か作業しながら、Webページなどを見ていくときに、ホィールを左手で操作したいことがあるからだ。最初に考えたのは、ホィールだけのデバイスである。Microsoftは、自社のSurface Studio用に「Surface Dial」というデバイスを出している。簡単にいうと、マウスのホィールだけのデバイスだ。そのため、Windows 10ではラジアルコントローラーという新しいデバイスの種類が定義された。

・Windows Radial Controller Designs
https://docs.microsoft.com/en-us/windows-hardware/design/component-guidelines/radial-controller-designs

この仕様に合致したデバイスを作れば、あとの面倒はWindows 10が見てくれるというわけだ。たしかレノボ社のオールインワンPCにも装備されたと記憶する。ラジアルコントローラーを接続すると、Windows 10の設定→デバイスに「ホィール」という項目が追加される(写真01)。

  • 写真01: ラジアルコントローラーを接続すると設定のデバイスに「ホィール」という項目が追加される。ラジアルコントローラーは押してメニュー選択、回して機能を実行するデバイス

ホィールはMicrosoftの発明ではないが、普及の原動力になったのは、Microsoftのホィール付きマウス(IntelliMouse)とOffice、Windowsでのサポートだった。そういう意味では、ラジアルコントローラーをMicrosoftが新しいデバイスとして定義し、Windowsで標準的に扱うようにすることは理解できなくもない。汎用のデバイスとして定義されたので、Surface Dialの基本機能はSurface Studio以外のパソコンでも利用できる。

Surface Dialは税込み1万1,880円(Microsoftストア)と普通のマウスに比べると高価だが、Microsoftが標準デバイスとして定義したため「互換品」がある。3,000円ぐらいなのでアマゾンで1つ買ってみた。デバイスの感触は悪くなかったが、結果的には失敗だった。購入したものは、1/8回転(45度)がマウスホィールの1クリックに相当し、45度ごとにスクロールが行われる。多くのマウスでは1/24回転(15度)が1クリックなので、かなり回さないとマウスのようにスクロールできない。しかもWindowsでは、ラジアルコントローラー1クリック分のスクロール量の設定は、マウスのホィールと共通だった。ラジアルコントローラー用に1クリックのスクロール量を増やしてしまうと、マウスホィールのスクロールが超高速になってしまう。いや、こんなところに落とし穴があるとは。

そういうわけで、余っているマウスをホィール代わりに使うことにした。ただ、マウスは中央部が盛り上がっていて、そこに手を載せる必要がある。これだとキーボードからの手の移動量が大きいので、前後を入れ替えて、手前にホィールがくるようにして手を横に動かすだけで操作できるようにした。そうなると、スクロールの方向がマウスの回転方向とは逆になる。

Windowsではこれはレジストリ設定で逆転できる。ただし、そのためには、正しいマウスのDeviceIDを調べる必要がある。GUI(コントロールパネルのデバイスマネージャやマウスのプロパティ)でも調べることができるが、そもそも人が見るようなものではないので面倒だ。Windowsのポインティングデバイスの情報はPowerShellで調べることができる。


Get-CimInstance Win32_PointingDevice | select caption,deviceid

複数のデバイスがあって、どれだかわからないときには、デバイスを外すのが最も簡単な判定方法だ(写真02)。また、DeviceID中の「_VID&」と「_PID&」の間は、USBのVender IDでマウス(内蔵コントローラー)の製造メーカーを表している。これからデバイスを推測できる可能性がある。Vender IDは、以下にリストがある。

Information for Developers
https://www.usb.org/developers

DeviceIDがわかったら、レジストリエディタで、「HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Enum\HID」キー以下で、先頭の“USB/”、“HID/”を除いたDeviceIDに最大一致するキーを探し、その下の「Device Parameters」キーを開く。ときどき完全には一致しないデバイスがあるのでレジストリエディタを使って人が探したほうが確実で速い。ここに「FlipFlopWheel」という名前があり、0が設定されているのでこれを1に書き換える。これで、ホィールの回転方向とスクロール方向が逆になる。もし、ホィールが左右スクロール機能を持っていたら「FlipFlopHScroll」も1にして逆転させておく。そのあと、デバイスを切断して再接続するとレジストリ設定が有効になる。

  • 写真02: マウスの場合、デバイスの着脱で該当のデバイスを調べることができる。写真は接続中にリストを表示させ、外して再度リストを表示したもの5番目の「HID 準拠マウス」(これはBluetoothマウス)がなくなっていることから、これが該当のデバイスだと判定できる

ホィールの向きを設定して操作しやすい位置にホィールを配置でき、どんなマウスもホィールデバイスにできる。タブレットは、手に持ったとき指の届くところに小さいマウスを繰り返し貼り付けできる両面テープなどで固定するとPDFやWebの資料を見るのがラクラクである(指に装着できるマウスもある)。有線マウスや専用無線ドングルはほとんどコネクタがUSB Type-Aのオスなので、マイクロUSBやType-Cしかないタブレットとの組み合わせに難がある。Bluetoothの充電式がマウスが便利。