~ruther/qmk_firmware

af84f0ff86b6b7fd8fd77ef49393ebe964c793c0 — Jeremy Herve 6 years ago f086328
Keymap: Redox / jeherve: updates (#4694)

* Start using send_unicode_hex_string for shrug

See https://docs.qmk.fm/#/feature_unicode?id=send_unicode_hex_string

* Make sure one can come back to main layer after tapping to NAV

* Add 4 new keys to symbol layer

~, `, =, +, are now more accesssible. No need to reach out far from home row anymore

* Add two new macro keys

I did not have much use for the Expose key and the right Command key, so opted to replace those with 2 Macros:

- One to invoke Alfred: https://www.alfredapp.com/ => Opt + Space
- One to invoke 1password: https://1password.com/ => Cmd + Opt + \

* Update readme to mention changes in new version

* Remove unneeded short definition

* Shorter name for our custom key

See https://github.com/qmk/qmk_firmware/pull/4694#discussion_r243341864

* Make macros one-liners

See https://github.com/qmk/qmk_firmware/pull/4694#discussion_r243341487

* Switch to using eeconfig_init_user to set Unicode mode

See https://github.com/qmk/qmk_firmware/pull/4694#issuecomment-449151724
2 files changed, 28 insertions(+), 21 deletions(-)

M keyboards/redox/keymaps/jeherve/keymap.c
M keyboards/redox/keymaps/jeherve/readme.md
M keyboards/redox/keymaps/jeherve/keymap.c => keyboards/redox/keymaps/jeherve/keymap.c +22 -20
@@ 25,14 25,11 @@ enum custom_keycodes {
	WAVE,
	YOSHI,
	THUMB_UP,
	NBSP
	NBSP,
  INV_1P,
  ALFRED
};

// Make macros a bit simpler with this shortcut.
#define TAP_ONCE(code)  \
  register_code (code); \
  unregister_code (code)

// Is shift being held? Let's store this in a bool.
static bool shift_held = false;



@@ 40,16 37,22 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
	switch(keycode) {
		case SHRUG:
			if (record->event.pressed) {
				unicode_input_start(); register_hex(0xaf); unicode_input_finish();
				TAP_ONCE (KC_BSLS);
				register_code (KC_RSFT); TAP_ONCE (KC_MINS); TAP_ONCE (KC_9); unregister_code (KC_RSFT);
				unicode_input_start (); register_hex(0x30c4); unicode_input_finish();
				register_code (KC_RSFT); TAP_ONCE (KC_0); TAP_ONCE (KC_MINS); unregister_code (KC_RSFT);
				TAP_ONCE (KC_SLSH);
				unicode_input_start (); register_hex(0xaf); unicode_input_finish();
				send_unicode_hex_string("00AF 005C 005F 0028 30C4 0029 005F 002F 00AF");
			}
			return false;
			break;
    case INV_1P:
      if (record->event.pressed) {
        SEND_STRING(SS_DOWN(X_LGUI)SS_DOWN(X_LALT)SS_TAP(X_BSLASH)SS_UP(X_LGUI)SS_UP(X_LALT));
      }
      return false;
      break;
    case ALFRED:
      if (record->event.pressed) {
        SEND_STRING(SS_DOWN(X_LALT)SS_TAP(X_SPACE)SS_UP(X_LALT));
      }
      return false;
      break;
		case YOSHI:
			if (record->event.pressed) {
				SEND_STRING(":yellow_yoshi:");


@@ 125,7 128,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
};

// Shortcut to make keymap more readable
#define KC_CTDN  LCTL(KC_DOWN)
#define KC_SYQT  LT(_SYMB,KC_QUOT)
#define SYM_L    MO(_SYMB)
#define MO_INTR  MO(_INTER)


@@ 152,13 154,13 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  //┌────────┬────────┬────────┬────────┬────────┬────────┐                                           ┌────────┬────────┬────────┬────────┬────────┬────────┐
     KC_GRV  ,KC_1    ,KC_2    ,KC_3    ,KC_4    ,KC_5    ,                                            KC_6    ,KC_7    ,KC_8    ,KC_9    ,KC_0    ,KC_EQL  ,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┐                         ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     KC_TAB  ,KC_Q    ,KC_W    ,KC_F    ,KC_P    ,KC_G    ,KC_ESC  ,                          KC_CTDN ,KC_J    ,KC_L    ,KC_U    ,KC_Y    ,KC_SCLN ,KC_BSLS ,
     KC_TAB  ,KC_Q    ,KC_W    ,KC_F    ,KC_P    ,KC_G    ,KC_ESC  ,                           INV_1P ,KC_J    ,KC_L    ,KC_U    ,KC_Y    ,KC_SCLN ,KC_BSLS ,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     SYM_L   ,KC_A    ,KC_R    ,KC_S    ,KC_T    ,KC_D    ,M_BRACKET_LEFT,            M_BRACKET_RIGHT ,KC_H    ,KC_N    ,KC_E    ,KC_I    ,KC_O    ,KC_SYQT ,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     KC_LSFT ,KC_Z    ,KC_X    ,KC_C    ,KC_V    ,KC_B    ,TT(_NAV),TT(_SYMB),      TT(_SYMB),TT(_NAV),KC_K    ,KC_M    ,KC_COMM ,KC_DOT  ,KC_SLSH ,KC_RSFT ,
  //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
     MO_INTR ,KC_LCTL ,KC_HYPR ,KC_LALT ,     KC_LCMD ,    KC_BSPC ,KC_LCTL ,        KC_ENT  ,KC_SPC  ,    KC_RCMD ,     TT_ADJ  ,KC_HYPR ,KC_RCTL ,MO_INTR
     MO_INTR ,KC_LCTL ,KC_HYPR ,KC_LALT ,     KC_LCMD ,    KC_BSPC ,KC_LCTL ,        KC_ENT  ,KC_SPC  ,    ALFRED  ,     TT_ADJ  ,KC_HYPR ,KC_RCTL ,MO_INTR
  //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘
  ),



@@ 170,7 172,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     _______ ,KC_EXLM ,KC_AT   ,KC_HASH ,KC_DLR  ,KC_PERC ,KC_LCBR ,                          KC_RCBR ,KC_CIRC ,KC_AMPR ,KC_ASTR ,KC_MINS ,KC_UNDS ,_______ ,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,        _______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,_______ ,
     _______ ,_______ ,_______ ,KC_TILD ,KC_GRV , _______ ,_______ ,_______ ,        _______ ,_______ ,_______ ,KC_EQL  ,KC_PLUS ,_______ ,_______ ,_______ ,
  //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
     _______ ,_______ ,_______ ,_______ ,     _______ ,    _______ ,_______ ,        _______ ,_______ ,    _______ ,     _______ ,_______ ,_______ ,_______
  //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘


@@ 184,7 186,7 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┤                         ├────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     XXXXXXX ,XXXXXXX ,KC_VOLD ,KC_VOLU ,KC_MUTE ,XXXXXXX ,_______ ,                          _______ ,XXXXXXX ,KC_LEFT ,KC_DOWN ,KC_UP   ,KC_RIGHT,XXXXXXX ,
  //├────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┐       ┌────────┼────────┼────────┼────────┼────────┼────────┼────────┼────────┤
     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,        _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
     XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,_______ ,_______ ,        _______ ,_______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,XXXXXXX ,
  //├────────┼────────┼────────┼────────┼────┬───┴────┬───┼────────┼────────┤       ├────────┼────────┼───┬────┴───┬────┼────────┼────────┼────────┼────────┤
     _______ ,XXXXXXX ,XXXXXXX ,XXXXXXX ,     XXXXXXX ,    XXXXXXX ,_______ ,        _______ ,XXXXXXX ,    XXXXXXX ,     _______ ,XXXXXXX ,XXXXXXX ,_______
  //└────────┴────────┴────────┴────────┘    └────────┘   └────────┴────────┘       └────────┴────────┘   └────────┘    └────────┴────────┴────────┴────────┘


@@ 230,8 232,8 @@ void persistent_default_layer_set(uint16_t default_layer) {
}

// Set unicode in Mac OS.
void matrix_init_user(void) {
	set_unicode_input_mode(UC_OSX);
void eeconfig_init_user(void) {
  set_unicode_input_mode(UC_OSX);
};

// Change LED colors depending on the layer.

M keyboards/redox/keymaps/jeherve/readme.md => keyboards/redox/keymaps/jeherve/readme.md +6 -1
@@ 1,7 1,7 @@
# A Colemak keymap for the Redox keyboard

----
![jeherve-redox-layout-3](https://user-images.githubusercontent.com/426388/45171716-69888200-b203-11e8-822d-7bc91f9f6c07.jpg)
![jeherve-redox-layout-4](https://user-images.githubusercontent.com/426388/50276398-2664be80-0442-11e9-86b9-fbd0f4275354.png)

----



@@ 25,6 25,11 @@ My keymap uses 5 layers:

## Changelog

- 2018.12.20
	- 2 new Macro keys, to invoke [Alfred](https://www.alfredapp.com/) and [1Password](https://1password.com/).
	- No more Right Command key or Expose key, I didn't use those much.
	- Updates to use newer QMK function to call ¯\_(ツ)_/¯
	- Fix: you can now move back to the base layer when double tapping the thumb keys to switch to the Nav layer. 👍
- 2018.09.06
	- Initial submission to QMK. It's alive! ⌨️