This repository has been archived on 2025-02-01. You can view files and clone it, but cannot push or open issues or pull requests.
tmk_keyboard/keyboard/valkey/keymap_iso.h

58 lines
2.9 KiB
C

#include "action_layer.h"
#define FUNCTION_ENABLE_LAYER1 1
#define FUNCTION_ENABLE_LAYER2 2
#define FUNCTION_DISABLE_LAYER1 11
#define FUNCTION_DISABLE_LAYER2 12
static const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
KEYMAP(\
ESC, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, PSCR,SLCK,BRK, \
FN4, GRV, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, BSPC, INS, HOME,PGUP, \
FN3, TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC, ENT, DEL, END, PGDN, \
FN2, CLCK,A, S, D, F, G, H, J, K, L, SCLN,QUOT,NUHS, \
FN1, LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH, RSFT, UP, \
FN0, LCTL,LGUI,LALT, SPC, RALT,RGUI,APP, RCTL, LEFT,DOWN,RGHT ),
/* 1: media keys */
KEYMAP(\
TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,SLEP, \
FN14,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,MUTE,VOLD,VOLU,TRNS, TRNS,TRNS,TRNS, \
FN13,TRNS,TRNS,UP ,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,MSTP,MPLY,MPRV,MNXT, ENT, TRNS,TRNS,TRNS, \
FN12,TRNS,LEFT,DOWN,RGHT,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
NO, TRNS,TRNS,TRNS,TRNS,CALC,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS, \
FN10,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS),
/* 2: mouse keys */
KEYMAP(\
TRNS, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,SLEP, \
FN24,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,MUTE,VOLD,VOLU,TRNS, TRNS,TRNS,TRNS, \
FN23,TRNS,BTN1,MS_U,BTN2,WH_U,TRNS,TRNS,TRNS,TRNS,MSTP,MPLY,MPRV,MNXT, ENT, TRNS,TRNS,TRNS, \
FN22,TRNS,MS_L,MS_D,MS_R,WH_D,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
NO, TRNS,TRNS,TRNS,TRNS,CALC,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, TRNS, TRNS, \
FN20,TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS, TRNS,TRNS,TRNS)
};
static const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_LAYER_MOMENTARY(1),
[1] = ACTION_FUNCTION(FUNCTION_ENABLE_LAYER1),
[10] = ACTION_FUNCTION(FUNCTION_DISABLE_LAYER1),
[2] = ACTION_FUNCTION(FUNCTION_ENABLE_LAYER2),
[20] = ACTION_FUNCTION(FUNCTION_DISABLE_LAYER2),
};
void action_function(keyrecord_t *record, uint8_t id, uint8_t opt) {
switch(id) {
case FUNCTION_ENABLE_LAYER1:
layer_on(1);
break;
case FUNCTION_DISABLE_LAYER1:
layer_off(1);
break;
case FUNCTION_ENABLE_LAYER2:
layer_on(2);
break;
case FUNCTION_DISABLE_LAYER2:
layer_off(2);
break;
}
}