Skip to content

Commit

Permalink
some KBDs: add Snap Tap / SOCD
Browse files Browse the repository at this point in the history
  • Loading branch information
yangdigi committed Jul 27, 2024
1 parent 8d7f216 commit 7b8a354
Show file tree
Hide file tree
Showing 12 changed files with 96 additions and 6 deletions.
2 changes: 1 addition & 1 deletion keyboards/ydkb/unicore_f1/config.h
Original file line number Diff line number Diff line change
Expand Up @@ -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)
Expand Down
11 changes: 9 additions & 2 deletions keyboards/ydkb/unicore_f1/keymaps/boop65_vial/vial.json
Original file line number Diff line number Diff line change
@@ -1,15 +1,22 @@
{
"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": [
[{"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","8,1",{"x":0.25,"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",{"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"]
]
}
}
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/dev60_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/dusk67_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
11 changes: 8 additions & 3 deletions keyboards/ydkb/unicore_f1/keymaps/eden_v2_vial/vial.json
Original file line number Diff line number Diff line change
@@ -1,17 +1,22 @@
{
"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"],
[{"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",{"x":0.5,"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\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"]
]
}
}
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_og_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/kbd8xmk3_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/taco75_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/tacopad_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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"],
Expand Down
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/tofufa_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
6 changes: 6 additions & 0 deletions keyboards/ydkb/unicore_f1/keymaps/uni88_vial/vial.json
Original file line number Diff line number Diff line change
@@ -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": [
Expand Down
30 changes: 30 additions & 0 deletions keyboards/ydkb/unicore_f1/led.c
Original file line number Diff line number Diff line change
Expand Up @@ -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]);
}
}
}
}

0 comments on commit 7b8a354

Please sign in to comment.