Key3(ファームウェア更新情報)
Key3用ファームウェアの更新履歴です。
2019/05/03
最初に公開したバージョンです。
2019/05/21
機能追加と一部の変更を行いました。
- レイヤーに対応
- キーが押されたときに渡されるbool値を反転
レイヤー
レイヤーキーを設定することで、複数のキーマップを切り替えて使用することが出来ます。レイヤーキーは押している間のみ有効で、ボタンを離すと標準レイヤーに戻ります。
このプログラムでは、標準で3つのレイヤーを使うことが可能となっています。
2つ目のレイヤーを使いたい場合は2ndLayer
のキーを割り当て、3つ目のレイヤーを使いたい場合は3rdLayer
のキーを割り当ててください。
レイヤーキーはどのスイッチでも割り当てることが出来ますが、割り当てた場合はすべてのレイヤーで同じ箇所に割り当ててください。
一番上が標準のレイヤー、2番目が2ndLayer、3番目が3rdLayerです。
String keymap[][12] = { {//Default Layer /*|--------------|--------------|--------------|*/ "LeftClick" , "MiddleClick", "RightClick" , /*|--------------|--------------|--------------|*/ "WheelDown" , "MouseUp" , "WheelUp" , /*|--------------|--------------|--------------|*/ "MouseLeft" , "MouseDown" , "MouseRight" , /*|--------------|--------------|--------------|*/ "2ndLayer" , "LeftDesktop", "RightDesktop", /*|--------------|--------------|--------------|*/ }, {//2nd Layer /*|--------------|--------------|--------------|*/ "7" , "8" , "9" , /*|--------------|--------------|--------------|*/ "4" , "5" , "6" , /*|--------------|--------------|--------------|*/ "1" , "2" , "3" , /*|--------------|--------------|--------------|*/ "2ndLayer" , "0" , "," , /*|--------------|--------------|--------------|*/ }, {//3rd Layer /*|--------------|--------------|--------------|*/ "" , "" , "" , /*|--------------|--------------|--------------|*/ "" , "" , "" , /*|--------------|--------------|--------------|*/ "" , "" , "" , /*|--------------|--------------|--------------|*/ "" , "" , "" , /*|--------------|--------------|--------------|*/ }, };
bool値の変更
キーが押されたときに渡されるbool値は、今までは直感的に分かりづらかったため、反転しています。
押されたとき | 離されたとき | |
---|---|---|
変更前 | False | True |
変更後 | True | False |
これにより、今までと書き方が変わるので注意が必要です。
変更前の書き方(キーを押したときに実行する場合)
else if (KeyName == "Copy") { if(keyPress == false) { Keyboard.press(0x80); Keyboard.press(0x63); Keyboard.releaseAll(); } }
変更後の書き方(キーを押したときに実行する場合)
else if (KeyName == "Copy") { if(keyPress) { Keyboard.press(0x80); Keyboard.press(0x63); Keyboard.releaseAll(); } }
もしくは
else if (KeyName == "Copy") { if(keyPress == true) { Keyboard.press(0x80); Keyboard.press(0x63); Keyboard.releaseAll(); } }