Giter Club home page Giter Club logo

qmk_keyboards's Introduction

Overview

This repo contains the firmware for my qmk enabled 5x7 dactyl-manuform using a customized miryoku keymap.

Clone and launch install.sh to symlink the layout where qmk expects it to be, then launch one of:

  • qmk generate-compilation-database -kb grota_dactyl_manuform/5x7 -km light_miryoku
  • make grota_dactyl_manuform/5x7:light_miryoku:flash

This will always will be a work in progress (most of the keys are quite stable though).

Other useful commands

  • make grota_dactyl_manuform/5x7:light_miryoku:avrdude-split-right
  • make grota_dactyl_manuform/5x7:light_miryoku:avrdude-split-left
  • git diff A B -- ':!keyboards*' ':!users*' ':!layouts/*' ':!drivers/*' ':!tests/*' ':!lib/*' ':!platforms/*' ':!docs/*'
  • make grota_dactyl_manuform/5x7:light_miryoku:update_achordion

Old stuff

I also have a 6x6 dactyl-manuform and an ErgoDox-ez which I am currently not using.

Old make targets (for reference)

  • make grota_dactyl_manuform/5x7:grota:flash
  • make grota_dactyl_manuform/6x6:grota:flash
  • make ergodox_ez:grota:flash
  • make grota_dactyl_manuform/5x7:grota:avrdude-split-right
  • make grota_dactyl_manuform/5x7:grota:avrdude-split-left
  • qmk generate-compilation-database -kb grota_dactyl_manuform/5x7 -km grota
  • qmk console

See here for my keymapviz customization (now using neovim plugin https://github.com/codethread/qmk.nvim).

ErgoDox-ez

RGB matrix layers

There is a custom rgb layer indicator that I can cycle through with the other effects and that also shows how to target the color of specific keys when I switch layers or when press a modifier (see rgb_stuff.c).

ErgoDox EZ RGB matrix led indices.

These are the indices used in the various rgb_matrix_* functions for the ergodox.

,--------------------------------------------------.  ,--------------------------------------------------.
|        |  28  |  27  |  26  |  25  |  24  |      |  |      |   0  |   1  |   2  |   3  |   4  |        |
|--------+------+------+------+------+-------------|  |------+------+------+------+------+------+--------|
|        |  33  |  32  |  31  |  30  |  29  |      |  |      |   5  |   6  |   7  |   8  |   9  |        |
|--------+------+------+------+------+------|      |  |      |------+------+------+------+------+--------|
|        |  38  |  37  |  36  |  35  |  34  |------|  |------|  10  |  11  |  12  |  13  |  14  |        |
|--------+------+------+------+------+------|      |  |      |------+------+------+------+------+--------|
|        |  43  |  42  |  41  |  40  |  39  |      |  |      |  15  |  16  |  17  |  18  |  19  |        |
`--------+------+------+------+------+-------------'  `-------------+------+------+------+------+--------'
  |      |  47  |  46  |  45  |  44  |                              |  20  |  21  |  22  |  23  |      |
  `----------------------------------'                              `----------------------------------'

Tap dances

Look into tap_dance.c to see the tap dances defined (currently I am not using all of these, but they are there just in case I change my mind).

  1. [ and ] double tapped will get you { and }.

  2. TD_LEAD_MOVE_TO_LAYER_LALT is KC_LEAD on single tap, moves to second layer on double tap, and KC_LALT when held.

  3. TD_COLON_SEMI_CTRL is KC_SCOLON on single tap, Shift+KC_SCOLON on double tap, and KC_RCTL when held. (See TAP_DANCE_KC1_ON_TAP_SHIFT_KC1_ON_DOUBLETAP_MOD_ON_HOLD(kc1, kc_mod, tap_specific_tapping_term)).

My tap dances uses a slightly modified utility function to get the tapdance status, that can prefer a hold state when interrupted, see current_dance_status(qk_tap_dance_state_t *state, bool prefer_hold).

For the tapdance TD_LEAD_MOVE_TO_LAYER_LALT I also check the value of the keycode that interrupts, in order to give priority to the held state (KC_LALT) or the single tap (KC_LEAD).

Only with these two features in place the tap dances started working for me (aka stopped driving me crazy :)).

Leader sequences

Look into leader_stuff.c for the sequences defined.

qmk_keyboards's People

Contributors

grota avatar

Watchers

 avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.