surface pro 4のfnキーを殺したい

surface pro 4(以下、SP4)のキーボードにはfn切り替えキーがあります。何かと言うと、SP4のfn1~fn12キーにはそれぞれ"メディアコントロール"の役割として音量調整や画面の明るさ調整などの機能が付与されており、fn切り替えキーを使用して、fnキーモードかメディアコントロールモードかを選べるわけです。

とはいえ、普通に使うならfnキーモードで使いたい。のでメディアコントロールモードなぞ不要なのですが、困ったのはfnキーを押すだけでモードが切り替わってしまう事。fnキーはWindowsキーとctrlキーに挟まれて誤タッチしやすいことです。

対策を考える

最初に思いついたのは"fn切り替えキーを押しても切り替わらないようにすればいいんじゃね?"です。世の中にはキーバインド変更ソフトというのが出回っており、それでキーボードを無効化すればいいのでは、と。
これはインターネットでいろいろ探して、以下のソフトが良さそうだな、と。

予想通り、CapsLockやNumLock、F1キーは無効化できそうでしたが…。Fn切り替えキーに関する設定だけが出来ない!以下の仮想キーボードマップにもFn切り替えキーの事は乗っていません。
Virtual-Key Codes (Windows)

ググる

他に困ってるユーザーいるやろ、と思ってググりました。
“Surface pro 4 fn disale toggle"でググると、海外フォーラムでもこの件には悩まされているらしく情報が出てきます。

が、効果的な対処法はない。それどころか、

By the way, the Fn key produces no scan code so it can’t be intercepted (the only other other key that produces no scan code is the screen detach button).

と、surface独自のハードウェア制御なので、ソフトウェアで割り込めない、という記述もあります。確かに、ソフトウェア制御ではWindows標準キーの制御は出来るが、メーカー独自キーの制御は出来ない、と。同じMS製なのに…。

対処法

例えば、ファイル名変更によく使用するF2は、メディアコントロールモードでは明るさ調整ボタンである。よって、メディアコントロールモードと知らずにファイル名変更しようとすると、ファイル名変換するつもりがディスプレイが明るくなるだけ、という悲しみに包まれる。
ここで考えたのは、キーバインド変更ソフトでディスプレイを明るくするボタンを押すとF2ボタンを押したことにする設定にするという技。これならfn切り替えがどちらのモードでも実質同じ動作をするのでOK。なんという発想。
しかしこれにも欠点があり、例えばメディアコントロールモードでのF10はPageUpボタンになるので、PageUpボタンを押すとF10を押したことにする、という設定をします。僕はPageUpする場合、Fnキー + ↑矢印でやっているので問題ない。しかし、この設定をしてしまうと、Fnキー + ↑矢印でPageUpを表現してもF10を押したことになってしまう。ソフトウェア割りこみの弊害である。

結果

完全制御はあきらめて、誤タッチするといらっとする機能だけ、KillKeysで殺すことにしました。MSさん、fn切り替えキーを無効にする機能を作ってくれー