From 4d4b845cf59749c4af4f91d05c39b9196b00ab99 Mon Sep 17 00:00:00 2001
From: marksard <38324387+marksard@users.noreply.github.com>
Date: Tue, 17 Jul 2018 12:08:31 +0900
Subject: Keymap: Modified of 'Helix five rows JIS" keymap (#3425)
* Change key layout in raise-layer.
* Improvement update cycle to mouse key changes.
* Update the readme.md
---
.../helix/rev2/keymaps/five_rows_jis/config.h | 17 ++
.../helix/rev2/keymaps/five_rows_jis/keymap.c | 286 ++++++++++-----------
.../helix/rev2/keymaps/five_rows_jis/readme.md | 8 +-
.../helix/rev2/keymaps/five_rows_jis/readme_jp.md | 8 +-
4 files changed, 167 insertions(+), 152 deletions(-)
(limited to 'keyboards')
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
index b4390551ef..f0904a6f9f 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/config.h
@@ -114,4 +114,21 @@ along with this program. If not, see .
#define USB_MAX_POWER_CONSUMPTION 100
#endif
+#ifdef MOUSEKEY_ENABLE
+ #undef MOUSEKEY_INTERVAL
+ #define MOUSEKEY_INTERVAL 0
+
+ #undef MOUSEKEY_TIME_TO_MAX
+ #define MOUSEKEY_TIME_TO_MAX 150
+
+ #undef MOUSEKEY_MAX_SPEED
+ #define MOUSEKEY_MAX_SPEED 3
+
+ #undef MOUSEKEY_MOVE_DELTA
+ #define MOUSEKEY_MOVE_DELTA 5
+
+ #undef MOUSEKEY_DELAY
+ #define MOUSEKEY_DELAY 0
+#endif
+
#endif /* CONFIG_USER_H */
diff --git a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
index 480ae2f038..eeb22df7a0 100644
--- a/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
+++ b/keyboards/helix/rev2/keymaps/five_rows_jis/keymap.c
@@ -159,9 +159,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Raise JIS Normal
* ,-----------------------------------------. ,-----------------------------------------.
- * | F1 | F2 | F3 | F4 | F5 | F6 | | F7 | F8 | F9 | F10 | F11 | F12 |
+ * | | F1 | F2 | F3 | F4 | F5 | | F6 | F7 | F8 | F9 | F10 | F11 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | Home |PageUp|
+ * | | | | | | | | F12 | | | | Home |PageUp|
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | | | | | | | End |PageDn|
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -171,8 +171,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------------'
*/
[_RAISE] = LAYOUT( \
- KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, \
- _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, \
+ _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, \
+ _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_F12 , XXXXXXX, XXXXXXX, XXXXXXX, KC_HOME, KC_PGUP, \
_______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_END, KC_PGDN, \
_______, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_U, XXXXXXX, \
_______, _______, _______, _______, XXXXXXX, XXXXXXX, _______, _______, XXXXXXX, XXXXXXX, XXXXXXX, KC_MS_L, KC_MS_D, KC_MS_R \
@@ -180,9 +180,9 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* Raise JIS Exchange L and R
* ,-----------------------------------------. ,-----------------------------------------.
- * | F7 | F8 | F9 | F10 | F11 | F12 | | F1 | F2 | F3 | F4 | F5 | F6 |
+ * | F6 | F7 | F8 | F9 | F10 | F11 | | | F1 | F2 | F3 | F4 | F5 |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
- * | | | | | | | | | | | | | |
+ * | F12 | | | | | | | | | | | | |
* |------+------+------+------+------+------| |------+------+------+------+------+------|
* | | | | | | | | | | | | | |
* |------+------+------+------+------+------+------+------+------+------+------+------+------+------|
@@ -192,8 +192,8 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
* `-------------------------------------------------------------------------------------------------'
*/
[_RAI_E] = LAYOUT( \
- KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, KC_F12, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, KC_F6, \
- XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, _______, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, XXXXXXX, \
+ KC_F6, KC_F7, KC_F8, KC_F9, KC_F10, KC_F11, _______, KC_F1 , KC_F2, KC_F3, KC_F4, KC_F5, \
+ KC_F12, 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, KC_MS_U, XXXXXXX, XXXXXXX, _______, KC_BTN1, KC_BTN2, XXXXXXX, XXXXXXX, XXXXXXX, \
_______, _______, XXXXXXX, _______, KC_MS_L, KC_MS_D, KC_MS_R, _______, _______, _______, _______, XXXXXXX, _______, XXXXXXX \
@@ -221,45 +221,105 @@ const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
),
};
-#elif HELIX_ROWS == 4
-
-const uint16_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
- // Do it yourself :)
-};
-
#else
#error "undefined keymaps"
#endif
+#ifdef SSD1306OLED
+char keylog[20] = {};
+const char code_to_name[60] = {
+ ' ', ' ', ' ', ' ', 'a', 'b', 'c', 'd', 'e', 'f',
+ 'g', 'h', 'i', 'j', 'k', 'l', 'm', 'n', 'o', 'p',
+ 'q', 'r', 's', 't', 'u', 'v', 'w', 'x', 'y', 'z',
+ '1', '2', '3', '4', '5', '6', '7', '8', '9', '0',
+ 'R', 'E', 'B', 'T', ' ', '-', ' ', '@', ' ', ' ',
+ ' ', ';', ':', ' ', ',', '.', '/', ' ', ' ', ' '};
+
+inline void set_keylog(uint16_t keycode, keyrecord_t *record)
+{
+ char name = ' ';
+ uint8_t leds = host_keyboard_leds();
+
+ if (keycode < 60)
+ {
+ name = code_to_name[keycode];
+ }
+
+ // update keylog
+ snprintf(keylog, sizeof(keylog), "\n%dx%d %2x %c %c %c %c",
+ record->event.key.row,
+ record->event.key.col,
+ keycode,
+ name,
+ (leds & (1<event.pressed) {
+ set_keylog(keycode, record);
+ }
+ #endif
+
switch (keycode) {
case BASE:
if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
+ PLAY_SONG(tone_qwerty);
persistent_default_layer_set(1UL<<_BASE);
}
- return false;
break;
case BAS_E:
if (record->event.pressed) {
- #ifdef AUDIO_ENABLE
- PLAY_SONG(tone_qwerty);
- #endif
+ PLAY_SONG(tone_qwerty);
persistent_default_layer_set(1UL<<_BAS_E);
}
- return false;
break;
case LOWER:
toggle_lower_raise_layer(record->event.pressed, _LOWER, _LOWER, _RAISE);
- return false;
break;
case LOW_E:
toggle_lower_raise_layer(record->event.pressed, _LOW_E, _LOW_E, _RAI_E);
- return false;
break;
case RAISE:
toggle_lower_raise_layer(record->event.pressed, _RAISE, _LOWER, _RAISE);
- return false;
break;
case RAI_E:
toggle_lower_raise_layer(record->event.pressed, _RAI_E, _LOW_E, _RAI_E);
- return false;
break;
case ADJUST:
if (record->event.pressed) {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(14);
- #endif
+ RGBLIGHT(14);
layer_on(_ADJUST);
} else {
- #ifdef RGBLIGHT_ENABLE
- rgblight_mode(RGB_current_mode);
- #endif
+ RGBLIGHT(RGB_current_mode);
layer_off(_ADJUST);
}
- return false;
break;
//led operations - RGB mode change now updates the RGB_current_mode to allow the right RGB mode to be set after reactive keys are released
case RGB_MOD:
@@ -350,7 +391,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
RGB_current_mode = rgblight_config.mode;
}
#endif
- return false;
break;
case EISU:
if (record->event.pressed) {
@@ -362,7 +402,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} else {
unregister_code(KC_LANG2);
}
- return false;
break;
#ifdef KANA_ENABLE
case KANA:
@@ -375,7 +414,6 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
} else {
unregister_code(KC_LANG1);
}
- return false;
break;
#endif
case RGBRST:
@@ -387,10 +425,11 @@ bool process_record_user(uint16_t keycode, keyrecord_t *record) {
}
#endif
break;
+ default:
+ return true;
}
- return true;
- // return process_layer_control(keycode, record, false) ? process_layer_control(keycode, record, true) : true;
+ return false;
}
void matrix_init_user(void) {
@@ -407,33 +446,6 @@ void matrix_init_user(void) {
#endif
}
-
-#ifdef AUDIO_ENABLE
-
-void startup_user()
-{
- _delay_ms(20); // gets rid of tick
-}
-
-void shutdown_user()
-{
- _delay_ms(150);
- stop_all_notes();
-}
-
-void music_on_user(void)
-{
- music_scale_user();
-}
-
-void music_scale_user(void)
-{
- PLAY_SONG(music_scale);
-}
-
-#endif
-
-
//SSD1306 OLED update loop, make sure to add #define SSD1306OLED in config.h
#ifdef SSD1306OLED
@@ -441,7 +453,7 @@ void matrix_scan_user(void) {
iota_gfx_task(); // this is what updates the display continuously
}
-void matrix_update(struct CharacterMatrix *dest,
+inline void matrix_update(struct CharacterMatrix *dest,
const struct CharacterMatrix *source) {
if (memcmp(dest->display, source->display, sizeof(dest->display))) {
memcpy(dest->display, source->display, sizeof(dest->display));
@@ -459,76 +471,62 @@ void matrix_update(struct CharacterMatrix *dest,
#define L_RAI_E (1<<_RAI_E)
#define L_ADJUST_TRIE (L_ADJUST|L_RAI_E|L_LOW_E)
-static void render_logo(struct CharacterMatrix *matrix) {
+const char helix_logo[]={
+ 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
+ 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
+ 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
+ 0};
+inline void render_logo(struct CharacterMatrix *matrix) {
- static char logo[]={
- 0x80,0x81,0x82,0x83,0x84,0x85,0x86,0x87,0x88,0x89,0x8a,0x8b,0x8c,0x8d,0x8e,0x8f,0x90,0x91,0x92,0x93,0x94,
- 0xa0,0xa1,0xa2,0xa3,0xa4,0xa5,0xa6,0xa7,0xa8,0xa9,0xaa,0xab,0xac,0xad,0xae,0xaf,0xb0,0xb1,0xb2,0xb3,0xb4,
- 0xc0,0xc1,0xc2,0xc3,0xc4,0xc5,0xc6,0xc7,0xc8,0xc9,0xca,0xcb,0xcc,0xcd,0xce,0xcf,0xd0,0xd1,0xd2,0xd3,0xd4,
- 0};
- matrix_write(matrix, logo);
- //matrix_write_P(&matrix, PSTR(" Split keyboard kit"));
+ matrix_write(matrix, helix_logo);
}
-
-
-void render_status(struct CharacterMatrix *matrix) {
+const char mac_win_logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
+inline void render_status(struct CharacterMatrix *matrix) {
// Render to mode icon
- static char logo[][2][3]={{{0x95,0x96,0},{0xb5,0xb6,0}},{{0x97,0x98,0},{0xb7,0xb8,0}}};
if(keymap_config.swap_lalt_lgui==false){
- matrix_write(matrix, logo[0][0]);
+ matrix_write(matrix, mac_win_logo[0][0]);
matrix_write_P(matrix, PSTR("\n"));
- matrix_write(matrix, logo[0][1]);
+ matrix_write(matrix, mac_win_logo[0][1]);
} else {
- matrix_write(matrix, logo[1][0]);
+ matrix_write(matrix, mac_win_logo[1][0]);
matrix_write_P(matrix, PSTR("\n"));
- matrix_write(matrix, logo[1][1]);
+ matrix_write(matrix, mac_win_logo[1][1]);
}
// Define layers here, Have not worked out how to have text displayed for each layer. Copy down the number you see and add a case for it below
- char buf[16];
+ char buf[20];
matrix_write_P(matrix, PSTR("\nLayer: "));
- switch (layer_state) {
- case L_BASE:
- if (default_layer_state == (1UL<<_BAS_E)) {
- matrix_write_P(matrix, PSTR("Base_Ex"));
- } else {
- matrix_write_P(matrix, PSTR("Base"));
- }
- break;
- case L_RAISE:
- matrix_write_P(matrix, PSTR("Raise"));
- break;
- case L_RAI_E:
- matrix_write_P(matrix, PSTR("Raise_Ex"));
- break;
- case L_LOWER:
- matrix_write_P(matrix, PSTR("Lower"));
- break;
- case L_LOW_E:
- matrix_write_P(matrix, PSTR("Lower_Ex"));
- break;
- case L_ADJUST:
- case L_ADJUST_TRI:
- case L_ADJUST_TRIE:
- matrix_write_P(matrix, PSTR("Adjust"));
- break;
- default:
- snprintf(buf, sizeof(buf), "Undef-%d", (short)layer_state);
- matrix_write(matrix, buf);
- }
+ switch (layer_state) {
+ case L_BASE:
+ matrix_write_P(matrix, default_layer_state == (1UL<<_BAS_E) ? PSTR("BaseEx") : PSTR("Base"));
+ break;
+ case L_RAISE:
+ matrix_write_P(matrix, PSTR("Raise"));
+ break;
+ case L_RAI_E:
+ matrix_write_P(matrix, PSTR("RaiseEx"));
+ break;
+ case L_LOWER:
+ matrix_write_P(matrix, PSTR("Lower"));
+ break;
+ case L_LOW_E:
+ matrix_write_P(matrix, PSTR("LowerEx"));
+ break;
+ case L_ADJUST:
+ case L_ADJUST_TRI:
+ case L_ADJUST_TRIE:
+ matrix_write_P(matrix, PSTR("Adjust"));
+ break;
+ default:
+ snprintf(buf, sizeof(buf), "%d", (short)layer_state);
+ matrix_write(matrix, buf);
+ }
- // Host Keyboard LED Status
- char led[32];
- snprintf(led, sizeof(led), "\n%s %s %s",
- (host_keyboard_leds() & (1<