2015年製以降のバタフライ・キーボードを搭載したMacBook/Proでキーの2重入力を検知して防いでくれるユーティリティアプリ「Unshaky」を使ってみた。

スポンサーリンク

 バタフライ・キーボードを搭載した2016年製以降のMacBookシリーズでキーの2重入力を検知して防いでくれるユーティリティアプリ「Unshaky」を使ってみました。詳細は以下から。

Unshaky

 Appleが2015年に発売したMacBook (Retina, Early 2015)のキーボードは従来のシザー構造のキーボードと比較して安定性が4倍向上し、キーボードが占める厚さが40%薄くなり、キートップが17%大きくなったバタフライ構造のキーボードが採用され話題になりましたが、

その後、新しいバタフライ構造のキーボードを採用した一部のMacBook/Proで押したキーのスムーズな跳ね返りやキー入力が反応しない問題が確認され、Appleは2018年06月にMacBook および MacBook Pro キーボード修理プログラムを発表しました。

MacBook および MacBook Pro キーボード修理プログラム

スポンサーリンク

第3世代バタフライ構造のキーボード

 この問題は2018年に発売されたMacBook Pro (2018)の第3世代バタフライ構造のキーボードで解決したように思われましたが、第3世代バタフライ構造のキーボードはキーボード内に薄いラバーレイヤーが追加され、ゴミや埃が入りにくくなったものの、その後もMacBook Pro/Air (2018)で特定のキーが1度の入力で2回入力されるという問題は残ったまま[1, 2]のようで、ユーザーはできる限り問題のキーを利用しないように工夫をしているようですが、

キーボード修理プログラムはMacBook (Retina, Early 2015)以降、MacBook Pro (2017)までが対象のため。

このキーの2重入力問題を検知して、正しいキー入力の間にある意図しないキー入力をソフトウェア的に防ぐユーティリティアプリ「Unshaky」をカナダ・ブリティッシュコロンビア大学の院生Sam Liuさんが開発しているというコメントを頂いたので、早速試してみました。

Unshakyの原理

Fig.1

Unshaky tries to address an issue on the butterfly keyboard (Macbook & MacBook Pro 2016 or later): Double Key Press (See “User complaints” below).
Apple made it difficult to replace only the keyboard and it costs hundreds of dollars. Unshaky might save your keyboard by dismissing such “second key hits” (any key presses that occur no later than x milliseconds after the previous effective one).

aahung/Unshaky: An attempt to address the “double key press” issue on Apple’s butterfly keyboard – GitHub

Unshakyの使い方

 Sam Liuさんによると、バタフライ構造のキーボードは通常のキー入力の間に意図しないキー入力(Fig.1のUnintended Key up/down)を起こす場合があるようで、Unshakyはこのキー入力を「同じキーが数msの間に入力される」という判定方法を用いて、キーの2重入力を防いでくれるそうで、使い方はアプリをGitHubからダウンロード&インストールして起動。システム環境設定アプリの[セキュリティーとプライバシー] → [プライバシー]パネルでコンピュータの制御許可を与えます。

Unshakyの使い方1

 次に、メニューバーに表示されるUnshakyのアイコン・メニューから[Configure]を選択して、問題のあるキーを選択。[Delay (ms)]カラムに1回目のキー入力から次の同じキー入力を抑制する時間をミリ秒(ms)で設定します。

Unshakyの使い方2

CMD+SpaceオプションはSpotlightのキーコンビネーションの除外

 普段はBluetoothキーボードを接続して利用しているキーの判定が微妙なMacBook Pro (2016)で使用してみましたが、半日の使用で19回2重入力を防いでくれたようなので、それなりの効果はあるようです。

Unshakyの結果

 同じキー入力を抑制する時間(スイートスポット)はユーザーのタイピングスピードによって違いますが、約40~80msあたりで調整していけばちょうどいい値を見つけられると思うので、この問題に遭われている方は試してみてください。

ただし、”Apple”など2回同じい文字が並ぶワードはタイピングスピードを変えないとUnshakyによってブロックされてしまうので注意してください。