You cannot select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
112 lines
2.7 KiB
C
112 lines
2.7 KiB
C
#include "roadkit.h"
|
|
#include "action_layer.h"
|
|
#include "eeconfig.h"
|
|
|
|
extern keymap_config_t keymap_config;
|
|
|
|
#define _NP 0
|
|
#define _L1 1
|
|
#define _L2 2
|
|
|
|
// Fillers to make layering more clear
|
|
#define _______ KC_TRNS
|
|
#define XXXXXXX KC_NO
|
|
|
|
enum custom_keycodes {
|
|
NUMPAD = SAFE_RANGE,
|
|
ADMIN,
|
|
SMSPC1,
|
|
STR192,
|
|
STR255
|
|
};
|
|
|
|
const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
|
|
|
|
/* Numpad
|
|
* ,-----------------------.
|
|
* | 7 | 8 | 9 |Bksp |
|
|
* |-----`-----`-----`-----|
|
|
* | 4 | 5 | 6 | Tab |
|
|
* |-----`-----`-----`-----|
|
|
* | 1 | 2 | 3 |Enter|
|
|
* |-----`-----`-----`-----|
|
|
* | 0 |Space| . | / |
|
|
* `-----`-----`-----`-----'
|
|
* | L1 | L2 | | | Layer hold
|
|
*/
|
|
[_NP] = /* Numpad */
|
|
LAYOUT_ortho_4x4(KC_P7, KC_P8, KC_P9, KC_BSPC, \
|
|
KC_P4, KC_P5, KC_P6, KC_TAB, \
|
|
KC_P1, KC_P2, KC_P3, KC_PENT, \
|
|
LT(1, KC_P0), LT(2, KC_SPC), KC_PDOT, KC_PSLS),
|
|
|
|
/* L1
|
|
* ,-----------------------.
|
|
* |Reset| | | Del |
|
|
* |-----`-----`-----`-----|
|
|
* | Left| Down| Up |Right|
|
|
* |-----`-----`-----`-----|
|
|
* | 192.| 255 | | |
|
|
* |-----`-----`-----`-----|
|
|
* |_____| LED | . | |
|
|
* `-----`-----`-----`-----'
|
|
*/
|
|
[_L1] = /* LAYER 1 */
|
|
LAYOUT_ortho_4x4(RESET, XXXXXXX, XXXXXXX, KC_DEL, \
|
|
KC_LEFT, KC_DOWN, KC_UP, KC_RGHT, \
|
|
STR192, STR255, XXXXXXX, XXXXXXX, \
|
|
_______, BL_STEP, _______, XXXXXXX),
|
|
|
|
/* L2
|
|
* ,-----------------------.
|
|
* | | | str | str |
|
|
* |-----`-----`-----`-----|
|
|
* | | | | |
|
|
* |-----`-----`-----`-----|
|
|
* | | | | |
|
|
* |-----`-----`-----`-----|
|
|
* | |_____| | |
|
|
* `-----`-----`-----`-----'
|
|
*/
|
|
[_L2] = /* LAYER 2 */
|
|
LAYOUT_ortho_4x4(XXXXXXX, XXXXXXX, ADMIN, SMSPC1, \
|
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
|
XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
|
|
XXXXXXX, _______, XXXXXXX, XXXXXXX)
|
|
};
|
|
|
|
void persistent_default_layer_set(uint16_t default_layer) {
|
|
eeconfig_update_default_layer(default_layer);
|
|
default_layer_set(default_layer);
|
|
}
|
|
|
|
bool process_record_user(uint16_t keycode, keyrecord_t *record) {
|
|
switch (keycode) {
|
|
case ADMIN:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("Administrator");
|
|
}
|
|
return false;
|
|
break;
|
|
case SMSPC1:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("Simspace1!");
|
|
}
|
|
return false;
|
|
break;
|
|
case STR192:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("192.168.");
|
|
}
|
|
return false;
|
|
break;
|
|
case STR255:
|
|
if (record->event.pressed) {
|
|
SEND_STRING("255");
|
|
}
|
|
return false;
|
|
break;
|
|
}
|
|
return true;
|
|
};
|