]>
git.gir.st - tmk_keyboard.git/blob - keymap.c
2 * keymap for modified macway keyboarq
4 #include <avr/pgmspace.h>
10 static const uint8_t PROGMEM Keymap
[][MATRIX_ROWS
][MATRIX_COLS
] = {
13 { KB_LALT
, KB_NO
, KB_BSPACE
, KB_NO
, KB_LEFT
, KB_NO
, KB_ENTER
, KB_SPACE
},
14 { KB_1
, KB_ESCAPE
, KB_TAB
, KB_Q
, KB_A
, KB_LCTRL
, KB_Z
, KB_RIGHT
},
15 { KB_2
, FN_0
, KB_LGUI
, KB_W
, KB_S
, KB_NO
, KB_X
, KB_UP
},
16 { KB_3
, KB_NO
, KB_RSHIFT
, KB_E
, KB_D
, FN_1
, KB_C
, KB_DOWN
},
17 { KB_4
, KB_5
, KB_T
, KB_R
, KB_F
, KB_G
, KB_V
, KB_B
},
18 { KB_7
, KB_6
, KB_Y
, KB_U
, KB_J
, KB_H
, KB_M
, KB_N
},
19 { KB_8
, KB_EQUAL
, KB_RBRACKET
,KB_I
, KB_K
, KB_NO
, KB_COMMA
, KB_LSHIFT
},
20 { KB_9
, KB_NO
, KB_NO
, KB_O
, KB_L
, FN_2
, KB_DOT
, KB_NO
},
21 { KB_0
, KB_MINUS
, KB_LBRACKET
,KB_P
, KB_SCOLON
, KB_QUOTE
, KB_NO
, KB_SLASH
}
25 { KB_LALT
, KB_NO
, KB_DELETE
, KB_NO
, KB_NO
, KB_NO
, KB_BSLASH
,KB_NO
},
26 { KB_F1
, KB_GRAVE
, KB_BSLASH
, KB_NO
, KB_NO
, KB_LCTRL
, KB_NO
, KB_NO
},
27 { KB_F2
, KB_NO
, KB_LGUI
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
},
28 { KB_F3
, KB_NO
, KB_RSHIFT
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
},
29 { KB_F4
, KB_F5
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
},
30 { KB_F7
, KB_F6
, KB_NO
, KB_NO
, KB_DOWN
, KB_LEFT
, KB_PGDOWN
,KB_HOME
},
31 { KB_F8
, KB_F12
, KB_NO
, KB_NO
, KB_UP
, KB_NO
, KB_PGUP
, KB_LSHIFT
},
32 { KB_F9
, KB_NO
, KB_NO
, KB_NO
, KB_RIGHT
, KB_NO
, KB_END
, KB_NO
},
33 { KB_F10
, KB_F11
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
}
37 { KB_LALT
, KB_NO
, KB_DELETE
, KB_NO
, KB_NO
, KB_NO
, KB_BSLASH
,KB_NO
},
38 { KB_F1
, KB_GRAVE
, KB_BSLASH
, KB_NO
, KB_VOLDOWN
,KB_LCTRL
, KB_NO
, KB_NO
},
39 { KB_F2
, KB_NO
, KB_LGUI
, KB_NO
, KB_VOLUP
, KB_NO
, KB_NO
, KB_NO
},
40 { KB_F3
, KB_NO
, KB_RSHIFT
, KB_NO
, KB_MUTE
, KB_NO
, KB_NO
, KB_NO
},
41 { KB_F4
, KB_F5
, KB_NO
, KB_NO
, KB_F20
, KB_NO
, KB_NO
, KB_NO
},
42 { KB_F7
, KB_F6
, KB_NO
, KB_NO
, KP_SLASH
, KP_ASTERISK
,KP_MINUS
, KP_PLUS
},
43 { KB_F8
, KB_F12
, KB_NO
, KB_NO
, KB_HOME
, KB_NO
, KB_END
, KB_LSHIFT
},
44 { KB_F9
, KB_NO
, KB_NO
, KB_NO
, KB_PGUP
, KB_NO
, KB_PGDOWN
,KB_NO
},
45 { KB_F10
, KB_F11
, KB_UP
, KB_NO
, KB_LEFT
, KB_RIGHT
, KB_NO
, KB_DOWN
}
47 // 3: FN_2(LEFT Bottom)
49 { KB_LALT
, KB_NO
, KB_DELETE
, KB_NO
, MS_LEFT
, KB_NO
, KB_BSLASH
, MS_BTN1
},
50 { KB_F1
, KB_GRAVE
, KB_BSLASH
, KB_NO
, MS_BTN1
, KB_LCTRL
, KB_NO
, MS_RIGHT
},
51 { KB_F2
, MS_BTN2
, KB_LGUI
, KB_NO
, MS_BTN2
, KB_NO
, KB_NO
, MS_UP
},
52 { KB_F3
, KB_NO
, KB_RSHIFT
, KB_NO
, MS_BTN3
, KB_NO
, KB_NO
, MS_DOWN
},
53 { KB_F4
, KB_F5
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
},
54 { KB_F7
, KB_F6
, KB_NO
, KB_NO
, MS_DOWN
, MS_LEFT
, MS_WH_UP
, MS_WH_LEFT
},
55 { KB_F8
, KB_F12
, MS_BTN5
, KB_NO
, MS_UP
, KB_NO
, MS_WH_DOWN
, KB_LSHIFT
},
56 { KB_F9
, KB_NO
, KB_NO
, KB_NO
, MS_RIGHT
, KB_NO
, MS_WH_RIGHT
,KB_NO
},
57 { KB_F10
, KB_F11
, MS_BTN4
, KB_NO
, KB_NO
, KB_NO
, KB_NO
, KB_NO
}
62 uint8_t get_keycode(int layer
, int row
, int col
)
64 if (row
>= MATRIX_ROWS
)
66 if (col
>= MATRIX_COLS
)
68 return pgm_read_byte(&Keymap
[layer
][row
][col
]);
73 for (int row
= 0; row
< MATRIX_ROWS
; row
++) {
74 for (int col
= 0; col
< MATRIX_ROWS
; col
++) {
75 if (matrix
[row
] & 1<<col
) continue;
76 if (get_keycode(0, row
, col
) == FN_0
) layer
= 1;
77 if (get_keycode(0, row
, col
) == FN_1
) layer
= 2;
78 if (get_keycode(0, row
, col
) == FN_2
) layer
= 3;
81 current_layer
= layer
;