qmk_firmware/keyboards/helix/rev2/keymaps/five_rows
Takeshi ISHII e6a13e0b1c
[Keymap] clean up helix:five_rows keymap (#10866)
* Makes the OLED driver used by the helix:five_rows keymap switchable.

* use TOP/drivers/oled/oled_driver.c
  `make HELIX=stdole helix:five_rows`
* use helix/local_drivers/ssd1306.c
  `make HELIX=oled helix:five_rows`

* Separated the OLED related code from keymap.c and moved it to oled_display.c.

* scan rate without OLED
  * make HELIX=verbose,dispoff,scan helix/rev2:five_rows
    use Helix original code
    text   data    bss    dec    hex   filename
    18880    58    235  19173   4ae5   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 1590

  * make HELIX=verbose,dispoff,scan,sc helix/rev2:five_rows
    use split_common code
    text   data    bss    dec    hex   filename
    18554    40    231  18825   4989   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 1202

* scan rate with helix/local_drivers/ssd1306.c
  * make HELIX=verbose,dispoff,scan,oled helix/rev2:five_rows
    use Helix original code
    text   data    bss    dec    hex   filename
    24048   196    342  24586   600a   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 739

  * make HELIX=verbose,dispoff,scan,sc,oled helix/rev2:five_rows
    use split_common code
    text   data    bss    dec    hex   filename
    23750   176    338  24264   5ec8   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 642

* scan rate with drivers/oled/oled_driver.c
  * make HELIX=verbose,dispoff,scan,stdole helix/rev2:five_rows
    use Helix original code
    text   data    bss    dec    hex   filename
    24590   210    798  25598   63fe   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 293

  * make HELIX=verbose,dispoff,scan,sc,stdole helix/rev2:five_rows
    use split_common code
    text   data    bss    dec    hex   filename
    24290   190    794  25274   62ba   .build/helix_rev2_five_rows.elf
    matrix scan frequency: 277

* clean up helix/rev2/keymaps/five_rows/keymap.c

* update five_rows/oled_display.c

* update helix/rev2/keymaps/five_rows/keymap.c: remove LAYOUT_kc()

* Ported the keymap from helix/rev2:five_rows to helix/rev3_5rows:five_rows.

* update five_rows/oled_display.c

* add License comment
2020-11-17 07:26:44 +09:00
..
README.md
README_jp.md
config.h
keymap.c [Keymap] clean up helix:five_rows keymap (#10866) 2020-11-17 07:26:44 +09:00
layer_number.h [Keymap] clean up helix:five_rows keymap (#10866) 2020-11-17 07:26:44 +09:00
oled_display.c [Keymap] clean up helix:five_rows keymap (#10866) 2020-11-17 07:26:44 +09:00
rules.mk [Keymap] clean up helix:five_rows keymap (#10866) 2020-11-17 07:26:44 +09:00

README.md

Keymap for 5 rows Helix keyboard

This keymap is only for 5 rows Helix keyboard.

Layout

fig1

Layer

Priority Number Name Discription
high 9 Adjust keyboard local functions (violet)
8 KFunction TenkeyPad function keys (bule)
7 Extra char some charactors (red)
6 Function function keys (blue)
2 Keypad TenkeyPad
2 Dvorak Dvorak
1 Colemak Colemak
low 0 Qwerty QWERTY (base)

Adjust Layer

Adjust Layer has keyboard local function keys.

  • LED control.
  • Mac/Win mode change.
  • Qwerty/Colemak/Dvorak/TenkeyPad change.

fig2

Mac mode and Win mode

Mac mode swap Alt/Win(GUI) key.

mode key code
Mac mode Adjust + g(Qwerty) AG_NORM
Adjust + h(Qwerty)
Win mode Adjust + t(Qwerty) AG_SWAP
Adjust + y(Qwerty)

LED control

command key code
on/off Adjust + e(Qwerty) RGB_TOG
Adjust + i(Qwerty)
change mode Adjust + d(Qwerty) RGB_MOD
Adjust + k(Qwerty)
HUE + Adjust + Left Control RGB_HUI
Adjust + Right Control
HUE - Adjust + Left Shift RGB_HUD
Adjust + Right Shift
SAT + Adjust + ;(Qwerty) RGB_SAI
Adjust + a(Qwerty)
SAT - Adjust + z(Qwerty) RGB_SAD
Adjust + /(Qwerty)
Bright + Adjust + s(Qwerty) RGB_VAI
Adjust + l(Qwerty)
Bright - Adjust + x(Qwerty) RGB_VAD
Adjust + >(Qwerty)
reset Adjust + w RGBRST

Qwerty, Colemak, Dvorak, TenkeyPad selection

char layout key
Qwerty Adjust + 5
Adjust + 6
Calemak Adjust + 4
Adjust + 7
Dvorak Adjust + 3
Adjust + 8
Keypad Adjust + 2
Adjust + 9

TenkeyPad layout

fig3

Note

fig4