diff --git a/keyboards/ydkb/unicore_f1/config.h b/keyboards/ydkb/unicore_f1/config.h index 134fc42e877..c347969aa7f 100644 --- a/keyboards/ydkb/unicore_f1/config.h +++ b/keyboards/ydkb/unicore_f1/config.h @@ -3,7 +3,7 @@ #include "config_common.h" /* USB Device descriptor parameter */ -#define FW_VER_DATE DO6N +#define FW_VER_DATE DO7R #define CONTACT(x,y) x##y #define CONTACT2(x,y) CONTACT(x,y) #define FW_VER CONTACT2(VIAL_, FW_VER_DATE) diff --git a/keyboards/ydkb/unicore_f1/keymaps/boop65_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/boop65_vial/vial.json index 1cfd5df6d95..761b925043d 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/boop65_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/boop65_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift",["Space Row", "6.25u", "7u"]], "keymap": [ @@ -8,8 +14,9 @@ [{"x":2.5,"w":1.5},"1,0",{"c":"#cccccc"},"1,1","1,2","1,3","1,4","1,5","1,6","7,1","7,2","7,3","7,4","7,5","7,6",{"w":1.5},"7,0\n\n\n1,0",{"c":"#aaaaaa"},"7,7",{"x":1.25,"c":"#777777","w":1.25,"h":2,"w2":1.5,"h2":1,"x2":-0.25},"7,0\n\n\n1,1"], [{"x":2.5,"c":"#aaaaaa","w":1.75},"1,7",{"c":"#cccccc"},"2,1","2,2","2,3","2,4","2,5","2,6","6,1","6,2","6,3","6,4","6,5",{"c":"#777777","w":2.25},"6,6\n\n\n1,0",{"c":"#aaaaaa"},"6,0",{"x":0.25,"c":"#cccccc"},"6,6\n\n\n1,1"], [{"c":"#aaaaaa","w":1.25},"2,0\n\n\n2,1",{"c":"#cccccc"},"2,7\n\n\n2,1",{"x":0.25,"c":"#aaaaaa","w":2.25},"2,0\n\n\n2,0",{"c":"#cccccc"},"3,1","3,2","3,3","3,4","3,5","4,1","4,2","4,3","5,3","5,4",{"c":"#aaaaaa","w":1.75},"5,5",{"c":"#777777"},"5,6",{"c":"#aaaaaa"},"5,7"], - [{"x":2.5,"w":1.25},"3,0\n\n\n3,0",{"w":1.25},"3,7\n\n\n3,0",{"w":1.25},"3,6\n\n\n3,0",{"c":"#777777","w":6.25},"4,0\n\n\n3,0",{"c":"#aaaaaa","w":1.25},"4,6\n\n\n3,0",{"w":1.25},"4,7\n\n\n3,0",{"x":0.5,"c":"#777777"},"5,2","5,1","5,0"], - [{"y":0.25,"x":2.5,"c":"#aaaaaa","w":1.5},"3,0\n\n\n3,1","3,7\n\n\n3,1",{"w":1.5},"3,6\n\n\n3,1",{"c":"#777777","w":7},"4,0\n\n\n3,1",{"c":"#aaaaaa","w":1.5},"4,7\n\n\n3,1"] + [{"x":2.5,"w":1.25},"3,0\n\n\n3,0",{"w":1.25},"3,7\n\n\n3,0",{"w":1.25},"3,6\n\n\n3,0",{"c":"#777777","w":6.25},"4,0\n\n\n3,0",{"c":"#aaaaaa","w":1.25},"4,6\n\n\n3,0",{"w":1.25},"4,7\n\n\n3,0",{"c":"#cccccc","w":0.5,"h":0.5,"d":true},"4,4",{"c":"#777777"},"5,2","5,1","5,0"], + [{"y":-0.5,"x":15,"c":"#cccccc","w":0.5,"h":0.5,"d":true},"4,5"], + [{"y":-0.25,"x":2.5,"c":"#aaaaaa","w":1.5},"3,0\n\n\n3,1","3,7\n\n\n3,1",{"w":1.5},"3,6\n\n\n3,1",{"c":"#777777","w":7},"4,0\n\n\n3,1",{"c":"#aaaaaa","w":1.5},"4,7\n\n\n3,1"] ] } } \ No newline at end of file diff --git a/keyboards/ydkb/unicore_f1/keymaps/dev60_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/dev60_vial/vial.json index 53ec0532c71..85065311579 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/dev60_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/dev60_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["2u Backspace", ["Bottom Row", "HHKB 7u", "WKL1", "WKL2"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/keymaps/dusk67_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/dusk67_vial/vial.json index 1cfd5df6d95..3e000013b90 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/dusk67_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/dusk67_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift",["Space Row", "6.25u", "7u"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/keymaps/eden_v2_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/eden_v2_vial/vial.json index 1fff9c14cfd..735d3088500 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/eden_v2_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/eden_v2_vial/vial.json @@ -1,8 +1,14 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { - "labels":["Split Backspace", "ISO Enter", "Split LShift", "2.75u RShift", ["Space Row", "7u wk", "7u wkl", "7u hhkb", "6.25u wk"]], + "labels":["Split Backspace", "ISO Enter", "Split LShift", "2.75u RShift", ["Space Row", "7u wk", "7u wkl", "7u hhkb"]], "keymap": [ [{"x":2.5},"0,0","0,1","0,2","0,3","0,4","0,5","0,6","0,7","8,3","8,4","8,5","8,6","8,7",{"c":"#aaaaaa","w":2},"8,0\n\n\n0,0",{"x":0.5,"c":"#cccccc"},"8,0\n\n\n0,1",{"c":"#aaaaaa"},"8,2\n\n\n0,1"], [{"x":2.5,"w":1.5},"1,0",{"c":"#cccccc"},"1,1","1,2","1,3","1,4","1,5","1,6","7,1","7,2","7,3","7,4","7,5","7,6",{"w":1.5},"7,0\n\n\n1,0",{"x":1.5,"c":"#777777","w":1.25,"h":2,"w2":1.5,"h2":1,"x2":-0.25},"7,0\n\n\n1,1"], @@ -10,8 +16,7 @@ [{"c":"#aaaaaa","w":1.25},"2,0\n\n\n2,1",{"c":"#cccccc"},"2,7\n\n\n2,1",{"x":0.25,"c":"#aaaaaa","w":2.25},"2,0\n\n\n2,0",{"c":"#cccccc"},"3,1","3,2","3,3","3,4","3,5","4,1","4,2","4,3","5,3","5,4",{"c":"#aaaaaa","w":1.75},"5,5\n\n\n3,0","5,6\n\n\n3,0",{"x":0.25,"w":2.75},"5,5\n\n\n3,1"], [{"x":2.5,"w":1.5},"3,0\n\n\n4,0","3,7\n\n\n4,0",{"w":1.5},"3,6\n\n\n4,0",{"c":"#777777","w":7},"4,0\n\n\n4,0",{"c":"#aaaaaa","w":1.5},"4,7\n\n\n4,0","5,2\n\n\n4,0",{"w":1.5},"5,1\n\n\n4,0"], [{"x":2.5,"w":1.5},"3,0\n\n\n4,1",{"d":true},"3,7\n\n\n4,1",{"w":1.5},"3,6\n\n\n4,1",{"c":"#777777","w":7},"4,0\n\n\n4,1",{"c":"#aaaaaa","w":1.5},"4,7\n\n\n4,1",{"d":true},"5,2\n\n\n4,1",{"w":1.5},"5,1\n\n\n4,1"], - [{"x":2.5,"w":1.5,"d":true},"3,0\n\n\n4,2","3,7\n\n\n4,2",{"w":1.5},"3,6\n\n\n4,2",{"c":"#777777","w":7},"4,0\n\n\n4,2",{"c":"#aaaaaa","w":1.5},"4,7\n\n\n4,2","5,2\n\n\n4,2",{"w":1.5,"d":true},"5,1\n\n\n4,2"], - [{"y":0.25,"x":2.5,"w":1.25},"3,0\n\n\n4,3",{"w":1.25},"3,7\n\n\n4,3",{"w":1.25},"3,6\n\n\n4,3",{"c":"#777777","w":6.25},"4,0\n\n\n4,3",{"c":"#aaaaaa","w":1.25},"4,6\n\n\n4,3",{"w":1.25},"4,7\n\n\n4,3",{"w":1.25},"5,2\n\n\n4,3",{"w":1.25},"5,1\n\n\n4,3"] + [{"x":2.5,"w":1.5,"d":true},"3,0\n\n\n4,2","3,7\n\n\n4,2",{"w":1.5},"3,6\n\n\n4,2",{"c":"#777777","w":7},"4,0\n\n\n4,2",{"c":"#aaaaaa","w":1.5},"4,7\n\n\n4,2","5,2\n\n\n4,2",{"w":1.5,"d":true},"5,1\n\n\n4,2"] ] } } \ No newline at end of file diff --git a/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_og_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_og_vial/vial.json index b4be53ecff0..7ef6366e486 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_og_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_og_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift", "Split RShift", ["Space Row", "6.25u", "7u"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_vial/vial.json index ae7a40bc3f2..fc00c1777dc 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift", "Split RShift", ["Space Row", "6.25u", "7u"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/keymaps/taco75_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/taco75_vial/vial.json index 14e7659cd84..ea52f2dbc9a 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/taco75_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/taco75_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift",["Space Row", "6.25u", "7u"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/keymaps/tacopad_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/tacopad_vial/vial.json index 5017092fd18..3ad05f1affa 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/tacopad_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/tacopad_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "keymap": [ [{"c":"#777777"},"0,0",{"c":"#aaaaaa"},"0,1","0,2","0,3"], diff --git a/keyboards/ydkb/unicore_f1/keymaps/tofufa_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/tofufa_vial/vial.json index 1cfd5df6d95..3e000013b90 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/tofufa_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/tofufa_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift",["Space Row", "6.25u", "7u"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/keymaps/uni88_vial/vial.json b/keyboards/ydkb/unicore_f1/keymaps/uni88_vial/vial.json index 7b55726a166..3fe8b3e4d44 100644 --- a/keyboards/ydkb/unicore_f1/keymaps/uni88_vial/vial.json +++ b/keyboards/ydkb/unicore_f1/keymaps/uni88_vial/vial.json @@ -1,6 +1,12 @@ { "lighting": "qmk_rgblight", "matrix": {"rows": 14, "cols": 8}, + "customKeycodes": [ + {"name": "ST(W)", "title": "", "shortName": "ST(W)"}, + {"name": "ST(A)", "title": "", "shortName": "ST(A)"}, + {"name": "ST(S)", "title": "", "shortName": "ST(S)"}, + {"name": "ST(D)", "title": "", "shortName": "ST(D)"} + ], "layouts": { "labels":["Split Backspace", "ISO Enter", "Split LShift", "Split RShift", ["Space Row", "6.25u", "7u"]], "keymap": [ diff --git a/keyboards/ydkb/unicore_f1/led.c b/keyboards/ydkb/unicore_f1/led.c index d71df5a5c38..cb8e0bcce06 100644 --- a/keyboards/ydkb/unicore_f1/led.c +++ b/keyboards/ydkb/unicore_f1/led.c @@ -223,3 +223,33 @@ void hook_keyboard_loop(void) { } } } + +// Snap Tap / SOCD +static const SOCD_KEY[2][2] = { + { KC_W, KC_S }, + { KC_A, KC_D } +}; + +bool socd_key_state[2][2] = { {0,0},{0,0}}; + +void post_process_record_user(uint16_t keycode, keyrecord_t *record) { + if (keycode >= USER00 && keycode <= USER03) { + uint8_t key = keycode - USER00; + uint8_t k_group = key&1; + uint8_t k_num = key>>1; + uint8_t k_op_num = k_num?0:1; + if (record->event.pressed) { + socd_key_state[k_group][k_num] = 1; + if (socd_key_state[k_group][k_op_num]) { + unregister_code(SOCD_KEY[k_group][k_op_num]); + } + register_code(SOCD_KEY[k_group][k_num]); + } else { + socd_key_state[k_group][k_num] = 0; + unregister_code(SOCD_KEY[k_group][k_num]); + if (socd_key_state[k_group][k_op_num]) { + register_code(SOCD_KEY[k_group][k_op_num]); + } + } + } +} \ No newline at end of file