feat(keyboards/handwired/dactyl_manuform/5x6_68): update crimsen keymap and keyboard metadata
- Update keyboard name, manufacturer, and maintainer in keyboard.json. - Implement home row mods and layer-tap thumb keys in the crimsen keymap. - Configure per-key tapping terms and enable `EE_HANDS`. - Add automatic Num Lock activation in `keyboard_post_init_user`. - Reformat matrix and layout definitions in keyboard.json for better readability.
This commit is contained in:
parent
249eebf908
commit
88f0d31107
|
|
@ -1,7 +1,7 @@
|
||||||
{
|
{
|
||||||
"keyboard_name": "Dactyl-Manuform (5x6) 68 Keys",
|
"keyboard_name": "Crimsens Tastatur",
|
||||||
"manufacturer": "kpagratis",
|
"manufacturer": "crimsen-manufactor",
|
||||||
"maintainer": "kpagratis",
|
"maintainer": "crimsen",
|
||||||
"development_board": "promicro",
|
"development_board": "promicro",
|
||||||
"usb": {
|
"usb": {
|
||||||
"vid": "0xFEED",
|
"vid": "0xFEED",
|
||||||
|
|
@ -28,350 +28,568 @@
|
||||||
}
|
}
|
||||||
},
|
},
|
||||||
"matrix_pins": {
|
"matrix_pins": {
|
||||||
"cols": ["F4", "F5", "F6", "F7", "B1", "B3"],
|
"cols": [
|
||||||
"rows": ["D3", "D2", "D4", "C6", "D7", "E6"]
|
"F4",
|
||||||
|
"F5",
|
||||||
|
"F6",
|
||||||
|
"F7",
|
||||||
|
"B1",
|
||||||
|
"B3"
|
||||||
|
],
|
||||||
|
"rows": [
|
||||||
|
"D3",
|
||||||
|
"D2",
|
||||||
|
"D4",
|
||||||
|
"C6",
|
||||||
|
"D7",
|
||||||
|
"E6"
|
||||||
|
]
|
||||||
},
|
},
|
||||||
"diode_direction": "COL2ROW",
|
"diode_direction": "COL2ROW",
|
||||||
"layouts": {
|
"layouts": {
|
||||||
"LAYOUT": {
|
"LAYOUT": {
|
||||||
"layout": [
|
"layout": [
|
||||||
{
|
{
|
||||||
"matrix": [0, 0],
|
"matrix": [
|
||||||
|
0,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [0, 1],
|
"matrix": [
|
||||||
|
0,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 1,
|
"x": 1,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [0, 2],
|
"matrix": [
|
||||||
|
0,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 2,
|
"x": 2,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [0, 3],
|
"matrix": [
|
||||||
|
0,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [0, 4],
|
"matrix": [
|
||||||
|
0,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 4,
|
"x": 4,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [0, 5],
|
"matrix": [
|
||||||
|
0,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 5,
|
"x": 5,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [6, 0],
|
"matrix": [
|
||||||
|
6,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 11,
|
"x": 11,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [6, 1],
|
"matrix": [
|
||||||
|
6,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 12,
|
"x": 12,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [6, 2],
|
"matrix": [
|
||||||
|
6,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 13,
|
"x": 13,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [6, 3],
|
"matrix": [
|
||||||
|
6,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 14,
|
"x": 14,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [6, 4],
|
"matrix": [
|
||||||
|
6,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 15,
|
"x": 15,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [6, 5],
|
"matrix": [
|
||||||
|
6,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 0
|
"y": 0
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [1, 0],
|
"matrix": [
|
||||||
|
1,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [1, 1],
|
"matrix": [
|
||||||
|
1,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 1,
|
"x": 1,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [1, 2],
|
"matrix": [
|
||||||
|
1,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 2,
|
"x": 2,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [1, 3],
|
"matrix": [
|
||||||
|
1,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [1, 4],
|
"matrix": [
|
||||||
|
1,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 4,
|
"x": 4,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [1, 5],
|
"matrix": [
|
||||||
|
1,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 5,
|
"x": 5,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [7, 0],
|
"matrix": [
|
||||||
|
7,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 11,
|
"x": 11,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [7, 1],
|
"matrix": [
|
||||||
|
7,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 12,
|
"x": 12,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [7, 2],
|
"matrix": [
|
||||||
|
7,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 13,
|
"x": 13,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [7, 3],
|
"matrix": [
|
||||||
|
7,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 14,
|
"x": 14,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [7, 4],
|
"matrix": [
|
||||||
|
7,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 15,
|
"x": 15,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [7, 5],
|
"matrix": [
|
||||||
|
7,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 1
|
"y": 1
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [2, 0],
|
"matrix": [
|
||||||
|
2,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [2, 1],
|
"matrix": [
|
||||||
|
2,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 1,
|
"x": 1,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [2, 2],
|
"matrix": [
|
||||||
|
2,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 2,
|
"x": 2,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [2, 3],
|
"matrix": [
|
||||||
|
2,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [2, 4],
|
"matrix": [
|
||||||
|
2,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 4,
|
"x": 4,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [2, 5],
|
"matrix": [
|
||||||
|
2,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 5,
|
"x": 5,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [8, 0],
|
"matrix": [
|
||||||
|
8,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 11,
|
"x": 11,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [8, 1],
|
"matrix": [
|
||||||
|
8,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 12,
|
"x": 12,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [8, 2],
|
"matrix": [
|
||||||
|
8,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 13,
|
"x": 13,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [8, 3],
|
"matrix": [
|
||||||
|
8,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 14,
|
"x": 14,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [8, 4],
|
"matrix": [
|
||||||
|
8,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 15,
|
"x": 15,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [8, 5],
|
"matrix": [
|
||||||
|
8,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 2
|
"y": 2
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [3, 0],
|
"matrix": [
|
||||||
|
3,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [3, 1],
|
"matrix": [
|
||||||
|
3,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 1,
|
"x": 1,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [3, 2],
|
"matrix": [
|
||||||
|
3,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 2,
|
"x": 2,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [3, 3],
|
"matrix": [
|
||||||
|
3,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [3, 4],
|
"matrix": [
|
||||||
|
3,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 4,
|
"x": 4,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [3, 5],
|
"matrix": [
|
||||||
|
3,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 5,
|
"x": 5,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [9, 0],
|
"matrix": [
|
||||||
|
9,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 11,
|
"x": 11,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [9, 1],
|
"matrix": [
|
||||||
|
9,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 12,
|
"x": 12,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [9, 2],
|
"matrix": [
|
||||||
|
9,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 13,
|
"x": 13,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [9, 3],
|
"matrix": [
|
||||||
|
9,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 14,
|
"x": 14,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [9, 4],
|
"matrix": [
|
||||||
|
9,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 15,
|
"x": 15,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [9, 5],
|
"matrix": [
|
||||||
|
9,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 3
|
"y": 3
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [4, 0],
|
"matrix": [
|
||||||
|
4,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 0,
|
"x": 0,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [4, 1],
|
"matrix": [
|
||||||
|
4,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 1,
|
"x": 1,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [4, 2],
|
"matrix": [
|
||||||
|
4,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 2,
|
"x": 2,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [4, 3],
|
"matrix": [
|
||||||
|
4,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 3,
|
"x": 3,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [10, 2],
|
"matrix": [
|
||||||
|
10,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 13,
|
"x": 13,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [10, 3],
|
"matrix": [
|
||||||
|
10,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 14,
|
"x": 14,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [10, 4],
|
"matrix": [
|
||||||
|
10,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 15,
|
"x": 15,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [10, 5],
|
"matrix": [
|
||||||
|
10,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 16,
|
"x": 16,
|
||||||
"y": 4
|
"y": 4
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [4, 4],
|
"matrix": [
|
||||||
|
4,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 4,
|
"x": 4,
|
||||||
"y": 5
|
"y": 5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [4, 5],
|
"matrix": [
|
||||||
|
4,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 5,
|
"x": 5,
|
||||||
"y": 5
|
"y": 5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [10, 0],
|
"matrix": [
|
||||||
|
10,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 11,
|
"x": 11,
|
||||||
"y": 5
|
"y": 5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [10, 1],
|
"matrix": [
|
||||||
|
10,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 12,
|
"x": 12,
|
||||||
"y": 5
|
"y": 5
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [5, 4],
|
"matrix": [
|
||||||
|
5,
|
||||||
|
4
|
||||||
|
],
|
||||||
"x": 6,
|
"x": 6,
|
||||||
"y": 6
|
"y": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [5, 5],
|
"matrix": [
|
||||||
|
5,
|
||||||
|
5
|
||||||
|
],
|
||||||
"x": 7,
|
"x": 7,
|
||||||
"y": 6
|
"y": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [11, 0],
|
"matrix": [
|
||||||
|
11,
|
||||||
|
0
|
||||||
|
],
|
||||||
"x": 9,
|
"x": 9,
|
||||||
"y": 6
|
"y": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [11, 1],
|
"matrix": [
|
||||||
|
11,
|
||||||
|
1
|
||||||
|
],
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 6
|
"y": 6
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [5, 2],
|
"matrix": [
|
||||||
|
5,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 6,
|
"x": 6,
|
||||||
"y": 7
|
"y": 7
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [5, 3],
|
"matrix": [
|
||||||
|
5,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 7,
|
"x": 7,
|
||||||
"y": 7
|
"y": 7
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [11, 2],
|
"matrix": [
|
||||||
|
11,
|
||||||
|
2
|
||||||
|
],
|
||||||
"x": 9,
|
"x": 9,
|
||||||
"y": 7
|
"y": 7
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
"matrix": [11, 3],
|
"matrix": [
|
||||||
|
11,
|
||||||
|
3
|
||||||
|
],
|
||||||
"x": 10,
|
"x": 10,
|
||||||
"y": 7
|
"y": 7
|
||||||
}
|
}
|
||||||
|
|
|
||||||
|
|
@ -1,10 +1,12 @@
|
||||||
// Copyright 2023 Kostas Pagratis (@kpagratis)
|
|
||||||
// SPDX-License-Identifier: GPL-2.0-or-later
|
|
||||||
|
|
||||||
#pragma once
|
#pragma once
|
||||||
|
|
||||||
|
|
||||||
#define SPLIT_USB_DETECT
|
#define SPLIT_USB_DETECT
|
||||||
|
#define EE_HANDS
|
||||||
|
|
||||||
#define TAPPING_TERM 250
|
#define TAPPING_TERM 250
|
||||||
#define TAPPING_TOGGLE 2
|
|
||||||
|
#define QUICK_TAP_TERM 150
|
||||||
|
|
||||||
#define TAPPING_TERM_PER_KEY
|
#define TAPPING_TERM_PER_KEY
|
||||||
|
|
||||||
|
#define HOLD_ON_OTHER_KEY_PRESS_PER_KEY
|
||||||
|
|
|
||||||
|
|
@ -16,24 +16,33 @@ enum {
|
||||||
};
|
};
|
||||||
|
|
||||||
// Aliase für bessere Lesbarkeit
|
// Aliase für bessere Lesbarkeit
|
||||||
#define LOWER MO(_LOWER)
|
#define LOWER LT(_LOWER, KC_SPC)
|
||||||
#define RAISE MO(_RAISE)
|
#define RAISE LT(_RAISE, KC_BSPC)
|
||||||
#define EXTRA TT(_EXTRA)
|
#define EXTRA TT(_EXTRA)
|
||||||
#define QWERTY DF(_QWERTY)
|
#define QWERTY DF(_QWERTY)
|
||||||
#define NEO DF(_NEO)
|
#define NEO DF(_NEO)
|
||||||
#define EE_HANDS
|
|
||||||
|
#define HOME_U LCTL_T(KC_U)
|
||||||
|
#define HOME_I LALT_T(KC_I)
|
||||||
|
#define HOME_A LGUI_T(KC_A) // Super/Win für Hyprland
|
||||||
|
#define HOME_E LSFT_T(KC_E)
|
||||||
|
|
||||||
|
#define HOME_N LSFT_T(KC_N)
|
||||||
|
#define HOME_R RGUI_T(KC_R) // Super/Win für Hyprland
|
||||||
|
#define HOME_T LALT_T(KC_T)
|
||||||
|
#define HOME_D LCTL_T(KC_D)
|
||||||
|
|
||||||
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_NEO] = LAYOUT(
|
[_NEO] = LAYOUT(
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
|
KC_NO, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_SLSH,
|
||||||
KC_TAB, KC_X, KC_V, KC_L, KC_C, KC_W, KC_K, KC_H, KC_G, KC_F, KC_Q, KC_MINS,
|
KC_NO, KC_X, KC_V, KC_L, KC_C, KC_W, KC_K, KC_H, KC_G, KC_F, KC_Q, KC_MINS,
|
||||||
KC_CAPS, KC_U, KC_I, KC_A, KC_E, KC_O, KC_S, KC_N, KC_R, KC_T, KC_D, KC_Z,
|
KC_CAPS, HOME_U, HOME_I, HOME_A, HOME_E, KC_O, KC_S, HOME_N, HOME_R, HOME_T, HOME_D, KC_Z,
|
||||||
KC_LSFT, KC_LBRC, KC_SCLN, KC_QUOT, KC_P, KC_Y, KC_B, KC_M, KC_COMM, KC_DOT, KC_J, KC_RSFT,
|
KC_NO, KC_LBRC, KC_SCLN, KC_QUOT, KC_P, KC_Y, KC_B, KC_M, KC_COMM, KC_DOT, KC_J, KC_NO,
|
||||||
KC_LCTL, KC_LALT, KC_NUBS, KC_NO, TD(TD_NEO_QWERTY), EXTRA, KC_RALT, KC_RGUI,
|
KC_NO, KC_NO, KC_NUBS, KC_NO, TD(TD_NEO_QWERTY), EXTRA, KC_NO, KC_NO,
|
||||||
LOWER, KC_BSPC, RAISE, KC_SPC,
|
LOWER, RAISE, RAISE, LOWER,
|
||||||
KC_LGUI, KC_DEL, KC_RGUI, KC_ENTER,
|
KC_TAB, KC_NO, KC_NO, KC_ENTER,
|
||||||
KC_LSFT, KC_LCTL, KC_RCTL, KC_RSFT
|
KC_ESC, KC_NO, KC_NO, KC_DEL
|
||||||
),
|
),
|
||||||
[_QWERTY] = LAYOUT(
|
[_QWERTY] = LAYOUT(
|
||||||
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
KC_ESC, KC_1, KC_2, KC_3, KC_4, KC_5, KC_6, KC_7, KC_8, KC_9, KC_0, KC_GRV,
|
||||||
|
|
@ -48,7 +57,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
|
|
||||||
[_LOWER] = LAYOUT(
|
[_LOWER] = LAYOUT(
|
||||||
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_GRV, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, LSFT(KC_SLSH), RALT(KC_8), RALT(KC_9), KC_GRV, KC_EXLM, KC_NUBS, LSFT(KC_NUBS), LSFT(KC_0), LSFT(KC_7), KC_TRNS,
|
KC_TRNS, KC_TRNS, LSFT(KC_SLSH), RALT(KC_8), RALT(KC_9), KC_GRV, KC_EXLM, KC_NUBS, LSFT(KC_NUBS), LSFT(KC_0), LSFT(KC_6), KC_TRNS,
|
||||||
KC_TRNS, RALT(KC_MINS), KC_AMPR, RALT(KC_7), RALT(KC_0), LSFT(KC_RBRC), KC_UNDS, KC_ASTR, KC_LPRN, KC_SLSH, KC_GT, RALT(KC_Q),
|
KC_TRNS, RALT(KC_MINS), KC_AMPR, RALT(KC_7), RALT(KC_0), LSFT(KC_RBRC), KC_UNDS, KC_ASTR, KC_LPRN, KC_SLSH, KC_GT, RALT(KC_Q),
|
||||||
KC_TRNS, KC_BSLS, KC_DLR, RALT(KC_NUBS), RALT(KC_RBRC), KC_PLUS, KC_RBRC, KC_PERC, KC_AT, KC_PIPE, KC_LT, KC_TRNS,
|
KC_TRNS, KC_BSLS, KC_DLR, RALT(KC_NUBS), RALT(KC_RBRC), KC_PLUS, KC_RBRC, KC_PERC, KC_AT, KC_PIPE, KC_LT, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, LOWER, KC_TRNS, KC_TRNS,
|
||||||
|
|
@ -62,21 +71,21 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
||||||
KC_TRNS, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PAST,
|
KC_TRNS, KC_PGUP, KC_BSPC, KC_UP, KC_DEL, KC_PGDN, KC_NUM, KC_P7, KC_P8, KC_P9, KC_PSLS, KC_PAST,
|
||||||
KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
|
KC_TRNS, KC_HOME, KC_LEFT, KC_DOWN, KC_RGHT, KC_END, KC_TRNS, KC_P4, KC_P5, KC_P6, KC_PPLS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_INS, KC_TRNS, KC_DOT, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TAB, KC_INS, KC_TRNS, KC_DOT, KC_P1, KC_P2, KC_P3, KC_PCMM, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_PEQL, KC_P0, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_P0, KC_PEQL, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_DOT,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_ENT
|
||||||
),
|
),
|
||||||
|
|
||||||
[_EXTRA] = LAYOUT(
|
[_EXTRA] = LAYOUT(
|
||||||
QK_BOOT, KC_TRNS, KC_TRNS, MS_WHLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
QK_BOOT, QK_RBT, KC_TRNS, MS_WHLU, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, MS_UP, KC_TRNS, KC_BRIU, KC_TRNS, KC_TRNS, KC_VOLU, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, KC_TRNS, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, MS_LEFT, MS_DOWN, MS_RGHT, KC_BRID, KC_MPRV, KC_MPLY, KC_MNXT, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, MS_WHLL, MS_WHLD, MS_WHLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, MS_WHLL, MS_WHLD, MS_WHLR, KC_TRNS, KC_TRNS, KC_TRNS, KC_VOLD, KC_MUTE, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EXTRA, KC_TRNS, KC_TRNS, KC_TRNS,
|
KC_TRNS, KC_TRNS, KC_TRNS, KC_TRNS, EXTRA, KC_TRNS, KC_TRNS, KC_TRNS,
|
||||||
KC_TRNS, KC_TRNS, KC_TRNS, MS_BTN1,
|
KC_LGUI, KC_TRNS, KC_TRNS, MS_BTN1,
|
||||||
KC_TRNS, MS_BTN3, KC_TRNS, MS_BTN2,
|
KC_TRNS, MS_BTN3, KC_TRNS, MS_BTN2,
|
||||||
MS_BTN2, MS_BTN1, KC_TRNS, KC_TRNS
|
MS_BTN2, MS_BTN1, KC_TRNS, MS_BTN3
|
||||||
),
|
),
|
||||||
|
|
||||||
|
|
||||||
|
|
@ -95,3 +104,62 @@ tap_dance_action_t tap_dance_actions[] = {
|
||||||
// [TD_NEO_QWERTY] = ACTION_TAP_DANCE_DOUBLE(KC_TRNS, DF(_QWERTY))
|
// [TD_NEO_QWERTY] = ACTION_TAP_DANCE_DOUBLE(KC_TRNS, DF(_QWERTY))
|
||||||
[TD_NEO_QWERTY] = ACTION_TAP_DANCE_FN(dance_qwerty_fn),
|
[TD_NEO_QWERTY] = ACTION_TAP_DANCE_FN(dance_qwerty_fn),
|
||||||
};
|
};
|
||||||
|
|
||||||
|
uint16_t get_tapping_term(uint16_t keycode, keyrecord_t *record) {
|
||||||
|
switch (keycode) {
|
||||||
|
case LOWER: // Deine Definition für LT(_LOWER, KC_SPC)
|
||||||
|
case RAISE: // Deine Definition für LT(_RAISE, KC_BSPC)
|
||||||
|
return 175; // Viel kürzerer Wert für den Daumen
|
||||||
|
default:
|
||||||
|
return 250; // Deine sicheren 250ms für die Home Row Mods
|
||||||
|
}
|
||||||
|
}
|
||||||
|
|
||||||
|
void keyboard_post_init_user(void) {
|
||||||
|
// Schaltet Num Lock ein, falls es beim Start aus ist
|
||||||
|
if (!host_keyboard_led_state().num_lock) {
|
||||||
|
tap_code(KC_NUM);
|
||||||
|
}
|
||||||
|
}
|
||||||
|
// // 1. Die Symmetrie-Prüfung (wie gehabt)
|
||||||
|
// bool achordion_is_left(uint16_t keycode, keyrecord_t* record) {
|
||||||
|
// return record->event.key.col <= 5;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 2. Die verbesserte Achordion-Logik
|
||||||
|
// bool process_achordion(uint16_t keycode, keyrecord_t* record) {
|
||||||
|
// static uint16_t hold_keycode = KC_NO;
|
||||||
|
// static bool hold_is_left = false;
|
||||||
|
//
|
||||||
|
// if (record->event.pressed) {
|
||||||
|
// // Falls ein Mod gehalten wird...
|
||||||
|
// if (hold_keycode != KC_NO) {
|
||||||
|
// // ...und wir auf der GLEICHEN Hand tippen:
|
||||||
|
// if (hold_is_left == achordion_is_left(keycode, record)) {
|
||||||
|
//
|
||||||
|
// // JETZT WICHTIG: Sende den Buchstaben der gehaltenen Taste
|
||||||
|
// // BEVOR die neue Taste verarbeitet wird.
|
||||||
|
// tap_code16(hold_keycode & 0xFF);
|
||||||
|
// hold_keycode = KC_NO; // Mod-Status löschen
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // Registriere, wenn ein Mod-Tap gedrückt wird
|
||||||
|
// if (keycode >= QK_MOD_TAP && keycode <= QK_MOD_TAP_MAX) {
|
||||||
|
// hold_keycode = keycode;
|
||||||
|
// hold_is_left = achordion_is_left(keycode, record);
|
||||||
|
// }
|
||||||
|
// } else {
|
||||||
|
// if (keycode == hold_keycode) { hold_keycode = KC_NO; }
|
||||||
|
// }
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
//
|
||||||
|
// // 3. Die Einbindung (Ohne das "return false", das Tasten schluckt)
|
||||||
|
// bool process_record_user(uint16_t keycode, keyrecord_t* record) {
|
||||||
|
// if (!process_achordion(keycode, record)) {
|
||||||
|
// return false;
|
||||||
|
// }
|
||||||
|
// return true;
|
||||||
|
// }
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue