開発者のブログ『そまりぐ!Second』

開発者の趣味のブログです。役に立つかもしれない記事を書いていきます。間違いなど見つけましたら、コメント等でご指摘頂けると嬉しいです。

Surface Pen(Surface ペン)の上部クリックが動作しない問題>解決

f:id:somalicat:20180514204058j:plain

最近Surface Pen(Surface ペン)の上のボタンをクリックしても反応しないという問題がありました。

Microsoftストアのスペシャリストも原因を特定できませんでしたが、テストの結果、問題はペンではなくPC(ソフトウェア)ということがわかりました。(私のペンは他のSurfaceバイス上では正常に動作しました)

原因

・キーの入れ替え(レジストリの書き換え) →WindowsMac風の操作感にするため、CtrlとWindowsキーを入れ替えていた結果、ペンの動作に影響を与えていた。Surfaceペンは特定のキーコードの組み合わせを送信しているものだと思われる。

f:id:somalicat:20180515131407p:plain

環境

・ペンとSurface間のBluetooth接続は正しく行われている ・ペンのリセット(電池抜き)とPCの再起動は試みた ・Bluetoothの再ペアリングも試みた

解決方法

・キーボードのカスタマイズをリセットまた変更。

解決したその後・・・

どうしてもペンのクリックを使いたいので、キーボードのカスタマイズを諦めることにしました。代わりに、Caps LockをCtrlに置き換えることで、WindowsキーとCtrlキーを入れ替えることなく、「わずかに近い」操作感を再現しました。(まだ手がなれていませんが・・・Caps LockをCtrlとして使うユーザーは他にも少しいるようです) こんな状況はかなり希だと思いますが、ペンの故障等であればMicrosoftストアで対応してもらえるでしょう。

尚、今回お世話になったMicrosoftストアはカナダ・BC州のメトロタウン支店でした。

追記

どうやらペン上部クリックはWindows + F20 という扱いになっているようです。同じく、上部ダブルクリック=Windows + F19、上部長押し=Windows + F18。WindowsキーをCtrlに変更することによって、キーがCtrl + F20に書き換わってしまいます。AutohotkeyスクリプトによってCtrl+F20をWindows+F20に書き換えてみたところ、動作は確認できましたが若干遅延や動作不安定なところがあるようです。特に、PowerPointのスライドショーでペンを使う場合に動作が非常に不安定でスムーズにいきませんでした。(ちなみに試したスクリプト^F20::#F20 です)。パワーポイントを使わない場合はこの対策でもいいかもしれません。もし、F20, F19, F18が押されていない場合のみCtrlとWinキーを入れ替えるというスクリプトが組めるならスムーズにいけるかもしれません。

さらに追記

Autohotkeyをインストールし、マイドキュメントのAutoHotkey.ahkを以下のように書き換えることで回避できました。Surfaceペンを使わない場合は前半のコード(F20からF18のreturnまで)を削除しても大丈夫だと思います。なお、Surfaceペンの種類によっては前半コードの削除が必要かもしれません。(どうやらバージョンによってコードの差があるらしい) (テスト環境Surface Pro 2017 + Surface Pen 2017)

; Surface Pen
F20::
Send #{F20}
return

F19::
Send #{F19}
return

F18::
Send #{F18}
return

; Remap Windows and Ctrl
LWin::Ctrl
Ctrl::LWin

詳しくはこちらの技術ブログにも書いています。WindowsでApple英字配列キーボードをMac風に使う(フリーソフトで実現) - Qiita