/* id for user defined functions */ enum function_id { TEENSY_KEY, }; /* * Fn action definition */ static const uint16_t PROGMEM fn_actions[] = { ACTION_FUNCTION(TEENSY_KEY), // FN0 - Teensy key ACTION_LAYER_MOMENTARY(1), // FN1 - switch to Layer1 ACTION_LAYER_SET(2, ON_PRESS), // FN2 - push Layer2 ACTION_LAYER_SET(3, ON_PRESS), // FN3 - push Layer3 ACTION_LAYER_SET(0, ON_PRESS), // FN4 - push Layer0 ACTION_LAYER_TAP_KEY(4, KC_SPC), // FN5 - puhs Layer5, Navigation Layer }; void action_function(keyrecord_t *event, uint8_t id, uint8_t opt) { if (id == TEENSY_KEY) { clear_keyboard(); print("\n\nJump to bootloader... "); _delay_ms(250); bootloader_jump(); // should not return print("not supported.\n"); } } #endif
#include "keymap_common.h" const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = { /* 0: qwerty */ KEYMAP( PAUS, DEL, 0, 9, 8, BSPC, 7, TAB, Q, 2, 1, \ PGUP, F12,LBRC,MINS,RBRC, INS, Y, F5, F3, W, 4, F6, \ HOME, CALC, P, O, I, U, R, E, CAPS, 3, T, \ SLCK, ENT, SCLN, L, K, BSLS, J, F, D, NUBS, A, LGUI, \ RALT, FN1, SLSH, QUOT, LEFT, H, G, F4, S, ESC, LALT, \ END, RSFT, PGDN, NUHS, DOT, COMM, M, V, C, X, Z, LSFT, \ RCTL, RGHT, UP, DOWN, SPC, N, B, SPC, LCTL, \ PSCR, F11, EQL, F9, F8, F10, F7, 5, F2, F1, GRV, 6), /* 1: FN1 (Replaces arrows with pagination, home and end and activates multimedia keys on top row). */ KEYMAP( TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, VOLD, 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, HOME, TRNS, TRNS, VOLU, TRNS, TRNS, TRNS, \ TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, \ TRNS, END, PGUP, PGDN, TRNS, TRNS, TRNS, TRNS, TRNS, \ TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, TRNS, MUTE, MPLY, TRNS, TRNS ), }; const uint16_t PROGMEM fn_actions[] = { ACTION_DEFAULT_LAYER_SET(0), // Default layer. Not used. ACTION_LAYER_TAP_KEY(1, KC_APP), // FN1 };