Key3(ファームウェア更新情報)

Key3ファームウェアの更新履歴です。

f:id:ArtificialArts:20190522213244j:plain

2019/05/03

最初に公開したバージョンです。

Arduino Create

2019/05/21

機能追加と一部の変更を行いました。

  • レイヤーに対応
  • キーが押されたときに渡されるbool値を反転

Arduino Create

レイヤー

レイヤーキーを設定することで、複数のキーマップを切り替えて使用することが出来ます。レイヤーキーは押している間のみ有効で、ボタンを離すと標準レイヤーに戻ります。

このプログラムでは、標準で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();
        }
    }