]> git.donarmstrong.com Git - qmk_firmware.git/blob - converter/usb_usb/keymap_hasu.c
Updated readme to fix a typo and list out hotkey shortcuts
[qmk_firmware.git] / converter / usb_usb / keymap_hasu.c
1 #include "keymap_common.h"
2
3 const uint8_t keymaps[][MATRIX_ROWS][MATRIX_COLS] PROGMEM = {
4     /* Layer 0: Default Layer
5      * ,-----------------------------------------------------------.
6      * |Esc|  1|  2|  3|  4|  5|  6|  7|  8|  9|  0|  -|  =|  \|  `|
7      * |-----------------------------------------------------------|
8      * |Tab  |  Q|  W|  E|  R|  T|  Y|  U|  I|  O|  P|  [|  ]|Backs|
9      * |-----------------------------------------------------------|
10      * |Contro|  A|  S|  D|  F|  G|  H|  J|  K|  L|Fn3|  '|Fn6     |
11      * |-----------------------------------------------------------|
12      * |Fn7     |  Z|  X|  C|  V|  B|  N|  M|  ,|  .|Fn2|Shift |Fn1|
13      * `-----------------------------------------------------------'
14      *       |Gui|Alt  |         Fn4           |Fn5  |Gui|
15      *       `-------------------------------------------'
16      */
17     [0] = \
18     KEYMAP(
19     ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
20     ESC, 1,   2,   3,   4,   5,   6,   7,   8,   9,   0,   MINS,EQL, BSPC,     INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
21     TAB, Q,   W,   E,   R,   T,   Y,   U,   I,   O,   P,   LBRC,RBRC,BSLS,     DEL, END, PGDN,    P7,  P8,  P9,
22     LCTL,A,   S,   D,   F,   G,   H,   J,   K,   L,   FN3, QUOT,     FN6,                         P4,  P5,  P6,  PPLS,
23     FN7, Z,   X,   C,   V,   B,   N,   M,   COMM,DOT, FN2,           RSFT,          UP,           P1,  P2,  P3,
24     LCTL,LGUI,LALT,          FN4,                     RALT,FN5, FN5, FN1,      LEFT,DOWN,RGHT,    P0,       PDOT,PENT
25     ),
26
27     /* Layer 1: HHKB mode[HHKB Fn]
28      * ,-----------------------------------------------------------.
29      * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
30      * |-----------------------------------------------------------|
31      * |Caps |   |   |   |   |   |   |   |Psc|Slk|Pus|Up |   |Backs|
32      * |-----------------------------------------------------------|
33      * |Contro|VoD|VoU|Mut|   |   |  *|  /|Hom|PgU|Lef|Rig|Enter   |
34      * |-----------------------------------------------------------|
35      * |Shift   |   |   |   |   |   |  +|  -|End|PgD|Dow|Shift |   |
36      * `-----------------------------------------------------------'
37      *       |Gui|Alt  |         Space         |Alt  |Gui|
38      *       `-------------------------------------------'
39      */ 
40     [1] = \
41     KEYMAP(
42     ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
43     GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,      INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
44     CAPS,NO,  NO,  NO,  NO,  NO,  NO,  NO,  PSCR,SLCK,PAUS, UP,  NO, BSLS,     DEL, END, PGDN,    P7,  P8,  P9,
45     LCTL,VOLD,VOLU,MUTE,NO,  NO,  PAST,PSLS,HOME,PGUP,LEFT,RGHT,     ENT,                         P4,  P5,  P6,  PPLS,
46     LSFT,NO,  NO,  NO,  NO,  NO,  PPLS,PMNS,END, PGDN,DOWN,          RSFT,          UP,           P1,  P2,  P3,
47     LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, TRNS,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
48     ),
49
50     /* Layer 2: Vi mode[Slash]
51      * ,-----------------------------------------------------------.
52      * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
53      * |-----------------------------------------------------------|
54      * |Tab  |Hom|PgD|Up |PgU|End|Hom|PgD|PgUlEnd|   |   |   |Backs|
55      * |-----------------------------------------------------------|
56      * |Contro|   |Lef|Dow|Rig|   |Lef|Dow|Up |Rig|   |   |Return  |
57      * |-----------------------------------------------------------|
58      * |Shift   |   |   |   |   |   |Hom|PgD|PgUlEnd|Fn0|Shift |   |
59      * `-----------------------------------------------------------'
60      *       |Gui|Alt  |          Space        |Alt  |Gui|
61      *       `-------------------------------------------'
62      */
63     [2] = \
64     KEYMAP(
65     ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
66     GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, DEL,      INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
67     TAB, HOME,PGDN,UP,  PGUP,END, HOME,PGDN,PGUP,END, NO,  NO,  NO,  BSLS,     DEL, END, PGDN,    P7,  P8,  P9,
68     LCTL,NO,  LEFT,DOWN,RGHT,NO,  LEFT,DOWN,UP,  RGHT,NO,  NO,       ENT,                         P4,  P5,  P6,  PPLS,
69     LSFT,NO,  NO,  NO,  NO,  NO,  HOME,PGDN,PGUP,END, TRNS,          RSFT,          UP,           P1,  P2,  P3,
70     LCTL,LGUI,LALT,          SPC,                     RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
71     ),
72
73     /* Layer 3: Mouse mode(IJKL)[Semicolon]
74      * ,-----------------------------------------------------------.
75      * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
76      * |-----------------------------------------------------------|
77      * |Tab  |   |   |   |   |   |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
78      * |-----------------------------------------------------------|
79      * |Contro|   |   |   |   |   |Mb2|McL|McD|McR|Fn |   |Return  |
80      * |-----------------------------------------------------------|
81      * |Shift   |   |   |   |   |Mb3|Mb2|Mb1|Mb4|Mb5|   |Shift |   |
82      * `-----------------------------------------------------------'
83      *      |Gui |Alt  |          Mb1          |Fn   |Fn |
84      *      `--------------------------------------------'
85      * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel8
86      */
87     [3] = \
88     KEYMAP(
89     ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
90     GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, FN8,      INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
91     FN8, NO,  NO,  NO,  NO,  NO,  WH_L,WH_D,MS_U,WH_U,WH_R,WBAK,WFWD,FN8,      DEL, END, PGDN,    P7,  P8,  P9,
92     LCTL,ACL0,ACL1,ACL2,ACL2,NO,  NO,  MS_L,MS_D,MS_R,TRNS,NO,       ENT,                         P4,  P5,  P6,  PPLS,
93     LSFT,NO,  NO,  NO,  NO,  BTN3,BTN2,BTN1,BTN4,BTN5,NO,            RSFT,          UP,           P1,  P2,  P3,
94     LCTL,LGUI,LALT,          BTN1,                    RALT,TRNS,TRNS,RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
95     ),
96
97     /* Layer 5: Mouse mode(IJKL)[Space]
98      * ,-----------------------------------------------------------.
99      * |Esc| F1| F2| F3| F4| F5| F6| F7| F8| F9|F10|F11|F12|Ins|Del|
100      * |-----------------------------------------------------------|
101      * |Tab  |   |   |   |   |   |MwL|MwD|McU|MwU|MwR|Wbk|Wfr|Alt-T|
102      * |-----------------------------------------------------------|
103      * |Contro|   |   |   |   |   |Mb2|McL|McD|McR|Mb1|   |Return  |
104      * |-----------------------------------------------------------|
105      * |Shift   |   |   |   |   |Mb3|Mb2|Mb1|Mb4|Mb5|   |Shift |   |
106      * `-----------------------------------------------------------'
107      *      |Gui |Alt  |          Mb1          |Fn   |Fn |
108      *      `--------------------------------------------'
109      * Mc: Mouse Cursor / Mb: Mouse Button / Mw: Mouse Wheel8
110      */
111     [4] = \
112     KEYMAP(
113     ESC, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12,           PSCR,SLCK,BRK,
114     GRV, F1,  F2,  F3,  F4,  F5,  F6,  F7,  F8,  F9,  F10, F11, F12, FN8,      INS, HOME,PGUP,    NLCK,PSLS,PAST,PMNS,
115     FN8, NO,  NO,  NO,  NO,  NO,  WH_L,WH_D,MS_U,WH_U,WH_R,WBAK,WFWD,FN8,      DEL, END, PGDN,    P7,  P8,  P9,
116     LCTL,ACL0,ACL1,ACL2,ACL2,NO,  NO,  MS_L,MS_D,MS_R,BTN1,NO,       ENT,                         P4,  P5,  P6,  PPLS,
117     LSFT,NO,  NO,  NO,  NO,  BTN3,BTN2,BTN1,BTN4,BTN5,NO,            RSFT,          UP,           P1,  P2,  P3,
118     LCTL,LGUI,LALT,          TRNS,                    RALT,RGUI,APP, RCTL,     LEFT,DOWN,RGHT,    P0,       PDOT,PENT
119     ),
120 };
121
122
123 /*
124  * Macro definition
125  */
126 enum macro_id {
127     ALT_TAB,
128 };
129 const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
130 {
131     switch (id) {
132         case ALT_TAB:
133             return (record->event.pressed ?
134                     MACRO( D(LALT), D(TAB), END ) :
135                     MACRO( U(TAB), END ));
136     }
137     return MACRO_NONE;
138 }
139
140
141 /*
142  * Fn action definition
143  */
144 #ifdef KEYMAP_SECTION_ENABLE
145 const uint16_t fn_actions[] __attribute__ ((section (".keymap.fn_actions"))) = {
146 #else
147 const uint16_t fn_actions[] PROGMEM = {
148 #endif
149     [0] = ACTION_DEFAULT_LAYER_SET(0),                // Default layer(not used)
150     [1] = ACTION_LAYER_TAP_TOGGLE(1),                 // HHKB layer(toggle with 5 taps)
151     [2] = ACTION_LAYER_TAP_KEY(2, KC_SLASH),          // Cursor layer with Slash*
152     [3] = ACTION_LAYER_TAP_KEY(3, KC_SCLN),           // Mousekey layer with Semicolon*
153     [4] = ACTION_LAYER_TAP_KEY(4, KC_SPC),            // Mousekey layer with Space
154     [5] = ACTION_LAYER_MOMENTARY(3),                  // Mousekey layer
155     [6] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_ENT),      // RControl with tap Enter
156     [7] = ACTION_MODS_ONESHOT(MOD_LSFT),              // Oneshot Shift
157     [8] = ACTION_MACRO(ALT_TAB),                      // Application switching
158 };