You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							113 lines
						
					
					
						
							2.6 KiB
						
					
					
				
			
		
		
	
	
							113 lines
						
					
					
						
							2.6 KiB
						
					
					
				#include QMK_KEYBOARD_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] = LAYOUT_ortho_4x4( /* Numpad */
 | 
						|
    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] = LAYOUT_ortho_4x4( /* LAYER 1 */
 | 
						|
    RESET,   XXXXXXX, XXXXXXX, KC_DEL, \
 | 
						|
    KC_LEFT, KC_DOWN, KC_UP,   KC_RGHT, \
 | 
						|
    STR192,  STR255,  XXXXXXX, XXXXXXX, \
 | 
						|
    _______, BL_STEP, _______, XXXXXXX
 | 
						|
  ),
 | 
						|
 | 
						|
  /* L2
 | 
						|
   * ,-----------------------.
 | 
						|
   * |     |     | str | str |
 | 
						|
   * |-----`-----`-----`-----|
 | 
						|
   * |     |     |     |     |
 | 
						|
   * |-----`-----`-----`-----|
 | 
						|
   * |     |     |     |     |
 | 
						|
   * |-----`-----`-----`-----|
 | 
						|
   * |     |_____|     |     |
 | 
						|
   * `-----`-----`-----`-----'
 | 
						|
   */
 | 
						|
  [_L2] = LAYOUT_ortho_4x4( /* LAYER 2 */
 | 
						|
    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;
 | 
						|
};
 |