Monday 19 July 2021

VIAL new update 0.4

#always credit to Cheah Alec for helping out

Prepare json layout

the original info.json layout needs to be modified. 

Draw your layout and keys arragenment here in keyboard-layout-editor.com

http://www.keyboard-layout-editor.com

a) download the json file, copy the keymap portion

b) copy raw data, paste to https://kbfirmware.com/, check wiring, showing rows and columns matrix


b) matrix check from config h. 

#define MATRIX_ROWS 7
#define MATRIX_COLS 6

 using two info above to change your info.json (copy to /vial folder), rename to vial.json. 

looks something like this:

 {
    "keyboard_name": "reviung41",
    "url": "",
    "maintainer": "gtips",
    "width": 13,
    "height": 4.54,
"matrix": {
    "rows": 5,
    "cols": 14

},
    "layouts": {
        "LAYOUT_reviung41": {
            "key_count": 41,
            "layout": [
                {"label":"K00", "x":0, "y":0.54},
                {"label":"K01", "x":1, "y":0.36},
                {"label":"K02", "x":2, "y":0.18},

            ....

            ]
    },
"keymap":   [
    {
      "rx": 1,
      "y": 4.85,
      "x": 5.25,
      "w": 2

    },
    "6,2"
  ],

...    }
}


mousekey issue inspired from discord

In vial-qmk\quantum\qmk_settings.c this segment:

static void mousekey_apply(void) {
    mk_delay = QS.mousekey_delay / 10;
    mk_interval = QS.mousekey_interval;
    mk_max_speed = QS.mousekey_max_speed;
    mk_time_to_max = QS.mousekey_time_to_max;
    mk_wheel_delay = QS.mousekey_wheel_delay / 10;
    mk_wheel_interval    = QS.mousekey_wheel_interval;
    mk_wheel_max_speed   = QS.mousekey_wheel_max_speed;
    mk_wheel_time_to_max = QS.mousekey_wheel_time_to_max;
}
is causing issues
Made the following change and it works to fix it for now:
#ifdef MOUSEKEY_ENABLE
    static void mousekey_apply(void) {
        mk_delay = QS.mousekey_delay / 10;
        mk_interval = QS.mousekey_interval;
        mk_max_speed = QS.mousekey_max_speed;
        mk_time_to_max = QS.mousekey_time_to_max;
        mk_wheel_delay = QS.mousekey_wheel_delay / 10;
        mk_wheel_interval    = QS.mousekey_wheel_interval;
        mk_wheel_max_speed   = QS.mousekey_wheel_max_speed;
        mk_wheel_time_to_max = QS.mousekey_wheel_time_to_max;
    }
#endif

static const qmk_settings_proto_t protos[] PROGMEM = {
   DECLARE_SETTING(1, grave_esc_override),
   DECLARE_SETTING(2, combo_term),
   DECLARE_SETTING(3, auto_shift),
   DECLARE_SETTING_CB(4, auto_shift_timeout, auto_shift_timeout_apply),
   DECLARE_SETTING(5, osk_tap_toggle),
   DECLARE_SETTING(6, osk_timeout),
   DECLARE_SETTING(7, tapping_term),
   DECLARE_SETTING(8, tapping),
   #ifdef MOUSEKEY_ENABLE
    DECLARE_SETTING_CB(9, mousekey_delay, mousekey_apply),
    DECLARE_SETTING_CB(10, mousekey_interval, mousekey_apply),
    DECLARE_SETTING_CB(11, mousekey_move_delta, mousekey_apply),
    DECLARE_SETTING_CB(12, mousekey_max_speed, mousekey_apply),
    DECLARE_SETTING_CB(13, mousekey_time_to_max, mousekey_apply),
    DECLARE_SETTING_CB(14, mousekey_wheel_delay, mousekey_apply),
    DECLARE_SETTING_CB(15, mousekey_wheel_interval, mousekey_apply),
    DECLARE_SETTING_CB(16, mousekey_wheel_max_speed, mousekey_apply),
    DECLARE_SETTING_CB(17, mousekey_wheel_time_to_max, mousekey_apply),
   #endif
   DECLARE_SETTING(18, tap_code_delay),
   DECLARE_SETTING(19, tap_hold_caps_delay),
};


  



Finally! Thanks again for Alec.

Also keep referring and studying the old messages in vial.