Here is my keymap from TMK, included quite much unnecessary stuff left since I've tested different solutions to the problems I've experienced. Eg the last layer and the macro stuff at the end is totallyl unused and not sure if it even work. Haven't taken the time to clean the code up as it works as it is.
Code: Select all
#include "keymap_common.h"
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
KEYMAP( FN1, MPLY, MPRV, MNXT, MUTE, VOLD, VOLU, FN10, FN11, FN12, FN13, FN14, FN15, BSPC, \
TAB, LBRC, QUOT, SCLN, P, Y, F, G, C, R, L, COMM, FN18, NUHS, DEL, \
FN0, A, O, E, U, I, D, H, T, N, S, SLSH, ENT, PGUP, \
LSFT, DOT, Q, J, K, X, B, M, W, V, Z, RSFT, UP, PGDN, \
LCTL, LGUI, LALT, SPC, FN4, FN2, LEFT, DOWN, RIGHT),
KEYMAP( FN1, MPLY, MPRV, MNXT, MUTE, VOLD, VOLU, FN10, FN11, FN12, FN13, FN14, FN15, BSPC, \
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC, FN18, NUHS, DEL, \
FN0, A, S, D, F, G, H, J, K, L, SCLN, QUOT, ENT, PGUP, \
LSFT, Z, X, C, V, B, N, M, COMM, DOT, SLSH, RSFT, UP, PGDN, \
LCTL, LGUI, LALT, SPC, FN4, FN2, LEFT, DOWN, RIGHT),
KEYMAP( TRNS, FN29, FN3, FN20, FN19, FN21, FN22, FN23, FN24, FN25, FN26, PPLS, PAST, TRNS, \
TRNS, FN16, FN27, RBRC, EQL, TRNS, TRNS, 7, 8, 9, PAST, NUBS, FN28, FN30, TRNS, \
TRNS, FN6, TRNS, GRV, TRNS, TRNS, COMM, 4, 5, 6, PPLS, TRNS, TRNS, PGUP, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, DOT, 1, 2, 3, PMNS, TRNS, TRNS, PGDN, \
TRNS, TRNS, TRNS, 0, TRNS, LCTL, TRNS, TRNS, TRNS),
KEYMAP( TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, F10, F11, F12, TRNS, TRNS, TRNS, TRNS, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, F7, F8, F9, TRNS, TRNS, TRNS, TRNS, TRNS, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, F4, F5, F6, TRNS, TRNS, TRNS, PGUP, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, F1, F2, F3, TRNS, TRNS, TRNS, PGDN, \
TRNS, TRNS, TRNS, TRNS, FN17, LCTL, TRNS, TRNS, TRNS),
KEYMAP( TRNS, TRNS, TRNS, 3, 2, 5, 6, 7, 8, 9, TRNS, PPLS, PAST, TRNS, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, RBRC, NUBS, TRNS, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \
TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS),
};
/*
enum macro_id {
MACRO_1,
};*/
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_LAYER_MOMENTARY(2), // Enable numpad
[1] = ACTION_LAYER_TAP(3, KC_ESC), // Enable F-button layer
[2] = ACTION_MODS_TAP_KEY(MOD_LCTL, KC_END),
[3] = ACTION_MODS_KEY(MOD_LCTL | MOD_LALT, KC_2),
[4] = ACTION_MODS_TAP_KEY(MOD_LALT, KC_HOME),
//[5] = ACTION_LAYER_MODS(4, MOD_LSFT),
//[6] = ACTION_MACRO(MACRO_1), // TEST MACROS
[6] = ACTION_LAYER_TOGGLE(1), // Change layout
//[7] = ACTION_LAYER_ON(1, false),
//[8] = ACTION_LAYER_OFF(1, false),
//[9] = ACTION_MODS_KEY(MOD_RSFT, KC_RBRC),
[10] = ACTION_MODS_KEY(MOD_LSFT, KC_7),
[11] = ACTION_MODS_KEY(MOD_LSFT, KC_8),
[12] = ACTION_MODS_KEY(MOD_LSFT, KC_9),
[13] = ACTION_MODS_KEY(MOD_LSFT, KC_0),
[14] = ACTION_MODS_KEY(MOD_LSFT, KC_MINS),
[15] = ACTION_MODS_KEY(MOD_LSFT, KC_1),
[16] = ACTION_MODS_KEY(MOD_RALT, KC_MINS),
[17] = ACTION_MODS_KEY(MOD_LALT, KC_F4),
[18] = ACTION_MODS_KEY(MOD_LSFT, KC_COMM),
[19] = ACTION_MODS_KEY(MOD_LSFT, KC_2),
[20] = ACTION_MODS_KEY(MOD_LSFT, KC_3),
[21] = ACTION_MODS_KEY(MOD_LSFT, KC_5),
[22] = ACTION_MODS_KEY(MOD_LSFT, KC_6),
[23] = ACTION_MODS_KEY(MOD_RALT, KC_7),
[24] = ACTION_MODS_KEY(MOD_RALT, KC_8),
[25] = ACTION_MODS_KEY(MOD_RALT, KC_9),
[26] = ACTION_MODS_KEY(MOD_RALT, KC_0),
[27] = ACTION_MODS_KEY(MOD_RALT, KC_RBRC),
[28] = ACTION_MODS_KEY(MOD_LSFT, KC_RBRC),
[29] = ACTION_MODS_KEY(MOD_RALT, KC_NUBS),
[30] = ACTION_MODS_KEY(MOD_LSFT, KC_NUBS)
};
/*
const macro_t *action_get_macro(keyrecord_t *record, uint8_t id, uint8_t opt)
{
switch (id) {
case MACRO_1:
return(record->event.pressed ?
MACRO(U(LSHIFT), W(30), D(RALT), D(8), W(30), END) :
MACRO(U(8), U(RALT), END));
}
return MACRO_NONE;
}
*/