qmk-keychron-q3-colemak-dh/keyboards/kbdfans/kbd6x/keymaps/othi
James Young c66df16644
2020 November 28 Breaking Changes Update (#11053)
* Branch point for 2020 November 28 Breaking Change                                                

* Remove matrix_col_t to allow MATRIX_ROWS > 32 (#10183)                                           

* Add support for soft serial to ATmega32U2 (#10204)                                               

* Change MIDI velocity implementation to allow direct control of velocity value (#9940)            

* Add ability to build a subset of all keyboards based on platform.                                

* Actually use eeprom_driver_init().                                                               

* Make bootloader_jump weak for ChibiOS. (#10417)                                                  

* Joystick 16-bit support (#10439)                                                                 

* Per-encoder resolutions (#10259)                                                                 

* Share button state from mousekey to pointing_device (#10179)                                     

* Add hotfix for chibios keyboards not wake (#10088)                                               

* Add advanced/efficient RGB Matrix Indicators (#8564)                                             

* Naming change.                                                                                   

* Support for STM32 GPIOF,G,H,I,J,K (#10206)                                                       

* Add milc as a dependency and remove the installed milc (#10563)                                  

* ChibiOS upgrade: early init conversions (#10214)                                                 

* ChibiOS upgrade: configuration file migrator (#9952)                                             

* Haptic and solenoid cleanup (#9700)                                                              

* XD75 cleanup (#10524)                                                                            

* OLED display update interval support (#10388)                                                    

* Add definition based on currently-selected serial driver. (#10716)                               

* New feature: Retro Tapping per key (#10622)                                                      

* Allow for modification of output RGB values when using rgblight/rgb_matrix. (#10638)             

* Add housekeeping task callbacks so that keyboards/keymaps are capable of executing code for each main loop iteration. (#10530)

* Rescale both ChibiOS and AVR backlighting.                                                       

* Reduce Helix keyboard build variation (#8669)                                                    

* Minor change to behavior allowing display updates to continue between task ticks (#10750)        

* Some GPIO manipulations in matrix.c change to atomic. (#10491)                                   

* qmk cformat (#10767)                                                                             

* [Keyboard] Update the Speedo firmware for v3.0 (#10657)                                          

* Maartenwut/Maarten namechange to evyd13/Evy (#10274)                                             

* [quantum] combine repeated lines of code (#10837)                                                

* Add step sequencer feature (#9703)                                                               

* aeboards/ext65 refactor (#10820)                                                                 

* Refactor xelus/dawn60 for Rev2 later (#10584)                                                    

* add DEBUG_MATRIX_SCAN_RATE_ENABLE to common_features.mk (#10824)                                 

* [Core] Added `add_oneshot_mods` & `del_oneshot_mods` (#10549)                                    

* update chibios os usb for the otg driver (#8893)                                                 

* Remove HD44780 References, Part 4 (#10735)                                                       

* [Keyboard] Add Valor FRL TKL (+refactor) (#10512)                                                

* Fix cursor position bug in oled_write_raw functions (#10800)                                     

* Fixup version.h writing when using SKIP_VERSION=yes (#10972)                                     

* Allow for certain code in the codebase assuming length of string. (#10974)                       

* Add AT90USB support for serial.c (#10706)                                                        

* Auto shift: support repeats and early registration (#9826)                                       

* Rename ledmatrix.h to match .c file (#7949)                                                      

* Split RGB_MATRIX_ENABLE into _ENABLE and _DRIVER (#10231)                                        

* Split LED_MATRIX_ENABLE into _ENABLE and _DRIVER (#10840)                                        

* Merge point for 2020 Nov 28 Breaking Change
2020-11-28 12:02:18 -08:00
..
config.h [Keyboard] Create KBDFans directory (#5025) 2019-02-04 10:29:04 -08:00
keymap.c [Keyboard] Create KBDFans directory (#5025) 2019-02-04 10:29:04 -08:00
readme.md [Keyboard] Create KBDFans directory (#5025) 2019-02-04 10:29:04 -08:00
rules.mk 2020 November 28 Breaking Changes Update (#11053) 2020-11-28 12:02:18 -08:00

Othi's Universal HHKB keymap

Goals

  • Colemak layout. If you don't use Colemak then you'll need to also change the arrow key bindigns in other layers

  • Vim-like navigation layer so you can use vim binding arrowkeys in non-vim environment

  • Good modifier support so you don't have to hold 14 modifier keys at the same time

  • RGB indicating layer change(only work with plain colors so far, don't put your rgb to pulsing or any non static animation)

Layers

  • CL:

    The base layer, default is Colemak

  • NM_MODE:

    Vim-like arrowkeys in the home row, it's LHNE for JENK Colemak and HJKL for QWERTY

    Also HOME, END and next/prev word (Ctrl + Left/Right) in 0, 4, w, b like in vim

  • VI_MODE:

    The same as NM_MODE but with KC_LSFT held down for mostly highlighting

  • ACCENT + ACCENT_CAP:

    Function row and Unicode characters

Modifiers and Tap Dance keys

LHS:

  • Any Tap Dance key with the format of TD(XXX_NM) act as normal XXX modifier upon hold, but will hold and put you to NM_MODE when double click hold(a tap before the hold)(eg you can produce Alt + PgUp by pressing Alt + Alt + U)

  • KC_TAB acts as both KC_TAB on tap and KC_LGUI on hold

  • R3 CapsLock acts as both KC_BSPC on tap and KC_LCTL on hold

  • Holding KC_Q also puts you into NM_MODE

  • Holding KC_F puts you into VI_MODE for fast function keys

RHS:

  • 3 keys KC_SCLN, KC_DOT and KC_SLSH in CL layer can also be held down for respectively KC_LCTL, KC_LSFT, KC_LALT for easier 2-hand modifier holding

  • Right modifiers hold the selected modifier with KC_LGUI at the same time, mainly for i3wm, you can change this to whatever combination you want

Misc. functionalities

Unicode:

  • In case the keyboard output the 4-digit codepoint instead of the actual unicode, you need to change the rewrite input mode of the keyboard into the EEPROM(you only have to do this if the EEPROM was cleared or your current machine use another unicode compose method other than IBus/Linux's Ctrl + Shift + U). Change the corresponding Input void eeconfig_init_user(void). See this for availble input modes.

  • NOTE: make sure to keep your qmk env up to date with upstream