]>
Commit | Line | Data |
---|---|---|
1 | #include "action.h" | |
2 | #include "actionmap.h" | |
3 | #include "hook.h" | |
4 | #include "fc660c.h" | |
5 | ||
6 | ||
7 | #define AC_L3 ACTION_LAYER_MOMENTARY(3) | |
8 | #define AC_L4 ACTION_LAYER_MOMENTARY(4) | |
9 | #define AC_LS_2 ACTION_LAYER_MODS(2, MOD_LSFT) | |
10 | #define AC_RS_2 ACTION_LAYER_MODS(2, MOD_RSFT) | |
11 | #define AC_TGL1 ACTION_LAYER_TOGGLE(1) | |
12 | #define AC_SPC5 ACTION_LAYER_TAP_KEY(5, KC_SPC) | |
13 | #define AC_SLS6 ACTION_LAYER_TAP_KEY(6, KC_SLSH) | |
14 | ||
15 | #define AC_BACK ACTION_MODS_KEY(MOD_LALT, KC_LEFT) | |
16 | #define AC_FRWD ACTION_MODS_KEY(MOD_LALT, KC_RIGHT) | |
17 | ||
18 | // emulates FC660C default keymap | |
19 | #ifdef KEYMAP_SECTION_ENABLE | |
20 | const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] __attribute__ ((section (".keymap.keymaps"))) = { | |
21 | #else | |
22 | const action_t actionmaps[][UNIMAP_ROWS][UNIMAP_COLS] PROGMEM = { | |
23 | #endif | |
24 | [0] = KMAP( \ | |
25 | ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS, INS, | |
26 | TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, DEL, | |
27 | LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, | |
28 | LS_2,Z, X, C, V, B, N, M, COMM,DOT, SLS6, RS_2,UP, | |
29 | L3, LGUI,LALT, SPC5, RALT,RCTL,L3, LEFT,DOWN,RGHT | |
30 | ), | |
31 | [1] = KMAP( | |
32 | GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSLS, INS, | |
33 | TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSPC, DEL, | |
34 | LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT, ENT, | |
35 | LSFT,Z, X, C, V, B, N, M, COMM,DOT, SLS6, RSFT,UP, | |
36 | L4, LGUI,LALT, SPC5, RALT,RCTL,L4, LEFT,DOWN,RGHT | |
37 | ), | |
38 | [2] = KMAP( | |
39 | GRV, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, | |
40 | TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, | |
41 | TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, | |
42 | TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS, | |
43 | TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS | |
44 | ), | |
45 | [3] = KMAP( | |
46 | GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, | |
47 | CAPS,TGL1,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,TRNS,TRNS, TRNS, | |
48 | TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,TRNS,TRNS, TRNS, | |
49 | TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,TRNS, TRNS,PGUP, | |
50 | L3, TRNS,TRNS, TRNS, TRNS,APP, L3, HOME,PGDN,END | |
51 | ), | |
52 | [4] = KMAP( | |
53 | ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, | |
54 | CAPS,TGL1,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,PSCR,SLCK,PAUS,TRNS,TRNS,TRNS, TRNS, | |
55 | TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,TRNS,HOME,PGUP,TRNS,TRNS, TRNS, | |
56 | TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,END, PGDN,TRNS, TRNS,PGUP, | |
57 | L4, TRNS,TRNS, TRNS, TRNS,APP, L4, HOME,PGDN,END | |
58 | ), | |
59 | [5] = KMAP( | |
60 | GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, GRV, TRNS, | |
61 | TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,WH_L,WH_D,MS_U,WH_U,WH_R,BTN4,BTN5,TRNS, TRNS, | |
62 | TRNS,VOLD,VOLU,MUTE,TRNS,TRNS,TRNS,MS_L,MS_D,MS_R,BTN1,TRNS, TRNS, | |
63 | TRNS,TRNS,TRNS,TRNS,TRNS,BTN3,BTN2,BTN1,BACK,FRWD,TRNS, TRNS,PGUP, | |
64 | TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,HOME,PGDN,END | |
65 | ), | |
66 | [6] = KMAP( | |
67 | GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS, TRNS, | |
68 | TRNS,HOME,PGDN,UP, PGUP,END, HOME,PGDN,PGUP,END, TRNS,TRNS,TRNS,TRNS, TRNS, | |
69 | TRNS,TRNS,LEFT,DOWN,RGHT,TRNS,LEFT,DOWN,UP, RGHT,TRNS,TRNS, TRNS, | |
70 | TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,HOME,PGDN,PGUP,END, TRNS, TRNS,PGUP, | |
71 | TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,HOME,PGDN,END | |
72 | ), | |
73 | }; | |
74 | ||
75 | ||
76 | void hook_layer_change(uint32_t layer_state) | |
77 | { | |
78 | // lights LED on Insert when layer 1 is enabled | |
79 | if (layer_state & (1L<<1)) { | |
80 | PORTB &= ~(1<<5); | |
81 | } else { | |
82 | PORTB |= (1<<5); | |
83 | } | |
84 | } |