fc660c: Fix slash for cursor layer
[tmk_keyboard.git] / keyboard / fc660c / unimap_hasu.c
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 }
Imprint / Impressum