diff options
Diffstat (limited to 'converter/pc98_usb/keymap.c')
| -rw-r--r-- | converter/pc98_usb/keymap.c | 32 |
1 files changed, 9 insertions, 23 deletions
diff --git a/converter/pc98_usb/keymap.c b/converter/pc98_usb/keymap.c index 279b2b60c..3ab0a4dbe 100644 --- a/converter/pc98_usb/keymap.c +++ b/converter/pc98_usb/keymap.c | |||
| @@ -21,7 +21,6 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. | |||
| 21 | #include "keycode.h" | 21 | #include "keycode.h" |
| 22 | #include "action.h" | 22 | #include "action.h" |
| 23 | #include "action_macro.h" | 23 | #include "action_macro.h" |
| 24 | #include "layer_switch.h" | ||
| 25 | #include "util.h" | 24 | #include "util.h" |
| 26 | #include "keymap.h" | 25 | #include "keymap.h" |
| 27 | 26 | ||
| @@ -165,10 +164,10 @@ void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) | |||
| 165 | * Fn actions | 164 | * Fn actions |
| 166 | */ | 165 | */ |
| 167 | static const uint16_t PROGMEM fn_actions[] = { | 166 | static const uint16_t PROGMEM fn_actions[] = { |
| 168 | ACTION_KEYMAP_TAP_TOGGLE(0), // FN0 | 167 | ACTION_LAYER_TAP_TOGGLE(0), // FN0 |
| 169 | ACTION_KEYMAP_TAP_KEY(1, KC_SLASH), // FN1 | 168 | ACTION_LAYER_TAP_KEY(1, KC_SLASH), // FN1 |
| 170 | ACTION_KEYMAP_TAP_KEY(2, KC_SCLN), // FN2 | 169 | ACTION_LAYER_TAP_KEY(2, KC_SCLN), // FN2 |
| 171 | ACTION_KEYMAP_MOMENTARY(2), // FN3 | 170 | ACTION_LAYER_MOMENTARY(2), // FN3 |
| 172 | ACTION_MACRO(LBRACKET), // FN4 | 171 | ACTION_MACRO(LBRACKET), // FN4 |
| 173 | ACTION_MACRO(RBRACKET), // FN5 | 172 | ACTION_MACRO(RBRACKET), // FN5 |
| 174 | ACTION_MACRO(DUMMY), // FN6 | 173 | ACTION_MACRO(DUMMY), // FN6 |
| @@ -183,29 +182,16 @@ static const uint16_t PROGMEM fn_actions[] = { | |||
| 183 | * No need to edit. | 182 | * No need to edit. |
| 184 | */ | 183 | */ |
| 185 | #define KEYMAPS_SIZE (sizeof(keymaps) / sizeof(keymaps[0])) | 184 | #define KEYMAPS_SIZE (sizeof(keymaps) / sizeof(keymaps[0])) |
| 186 | #define OVERLAYS_SIZE (sizeof(overlays) / sizeof(overlays[0])) | ||
| 187 | #define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0])) | 185 | #define FN_ACTIONS_SIZE (sizeof(fn_actions) / sizeof(fn_actions[0])) |
| 188 | 186 | ||
| 189 | /* translates key to keycode */ | 187 | /* translates key to keycode */ |
| 190 | uint8_t keymap_key_to_keycode(uint8_t layer, key_t key) | 188 | uint8_t keymap_key_to_keycode(uint8_t layer, key_t key) |
| 191 | { | 189 | { |
| 192 | /* Overlay: 16-31(OVERLAY_BIT(0x10) | overlay_layer) */ | 190 | if (layer < KEYMAPS_SIZE) { |
| 193 | if (layer & OVERLAY_BIT) { | 191 | return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); |
| 194 | layer &= OVERLAY_MASK; | 192 | } else { |
| 195 | if (layer < OVERLAYS_SIZE) { | 193 | // fall back to layer 0 |
| 196 | return pgm_read_byte(&overlays[(layer)][(key.row)][(key.col)]); | 194 | return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]); |
| 197 | } else { | ||
| 198 | return KC_TRANSPARENT; | ||
| 199 | } | ||
| 200 | } | ||
| 201 | /* Keymap: 0-15 */ | ||
| 202 | else { | ||
| 203 | if (layer < KEYMAPS_SIZE) { | ||
| 204 | return pgm_read_byte(&keymaps[(layer)][(key.row)][(key.col)]); | ||
| 205 | } else { | ||
| 206 | // fall back to layer 0 | ||
| 207 | return pgm_read_byte(&keymaps[0][(key.row)][(key.col)]); | ||
| 208 | } | ||
| 209 | } | 195 | } |
| 210 | } | 196 | } |
| 211 | 197 | ||
