* Implemented Eager Per Row debouncing algorithm.
Good for when fingers can only press one row at a time (e.g. when keyboard is wired so that "rows" are vertical)
* Added documentation for eager_pr
* Ported ergodox_ez to eager_pr debouncing.
* Removed check for changes in matrix_scan.
* Added further clarification in docs.
* Accidental merge with ergodox_ez
* Small cleanup in eager_pr
* Forgot to debounce_init - this would probably cause seg-faults.
* RGB Matrix overhaul
Breakout of animations to separate files
Integration of optimized int based math lib
Overhaul of rgb_matrix.c and animations for performance
* Updating effect function api for future extensions
* Combined the keypresses || keyreleases define checks into a single define so I stop forgetting it where necessary
* Moving define RGB_MATRIX_KEYREACTIVE_ENABLED earlier in the include chain
* add SCREEN_NAV layer for copy/pasting within screen
* working readreg/paste macros
* working read reg / paste macros
* write log and tran patterns, and expand
* add ls -la shortcut, add tab on combined layer
* put delete word on the right pinky key on shell_nav layer
* add TAB on the right side, add reset key
* added Cloud9 macros
* add cloud9 shortcuts to atreus layout
* added BROWSER_CONTROL layer
* finalized browser control layer
* adding comment
* add browser control layer to atreus
* add flashing command line
* remove the tab on combined layer
* remove the tomouse
* remove mouse layer, change log/tran expand patterns, cleanups
* add dumptlog macro
* add "delete to home" shortcut
* fix conflict
* remove unneeded mouse layer
* add meh shortcuts on the browser_control layer
* add/modify some macros
* explain the various layers
* putty paste is right mouse button
* add android studio shortcuts
* allow switching between base and alternate base layouts
* replace cloud9 shortcuts with android studio
* more android studio shortcuts
* add two meh shortcuts on keynav layer
* additional android studio shortcut
* added defines for android studio
* Migrate fn_actions for default keymaps
* Rename the Grave/Escape Shift masks
* No need for shift_esc_shift_mask
* Change breaks to return false
* Right align pointers
* Add default case
* Separate cases with empty lines
* Remove unnecessary IS_COMMAND definition in clueboard/66/rev4
* Replace keyboard_report->mods with get_mods() in IS_COMMAND definitions
* Update docs to use get_mods() instead of keyboard_report->mods
* Replace keyboard_report->mods with get_mods() in tmk_core/protocol/usb_hid/test
For some reason, this occurrence used KB_LSHIFT and KB_RSHIFT, which don't exist
* Replace keyboard_report->mods with get_mods() in Massdrop keyboards (as per @patrickmt)
* Remove QUANTUM_DIR code blocks from keyboard rules
This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files that affect entire keyboards.
* remove QUANTUM_DIR code blocks from rules for default keymaps
This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files that affect default keymaps.
* remove QUANTUM_DIR code blocks from rules for user keymaps
This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files that affect "user" keymaps. (It's actually any keymap
that isn't named `default`.)
* remove QUANTUM_DIR code blocks from rules for community layouts
This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files for community layouts.
* remove QUANTUM_DIR code blocks from rules for userspaces
This commit removes the deprecated "QUANTUM_DIR" code block from
rules.mk files for userspaces.
* Use standard KC_ALGR, remove language-specific redefinitions
* Use ALGR instead of ALTGR in BÉPO and Canadian multilingual keymaps
* Remove BE_LALT, BE_LGUI aliases
* Hacker Dvorak
Programmer Dvorak based layout for the Ergodox EZ.
* Address drashna comments.
* Fix RGB and drop OSL for MO.
* Add gulp file to automate development.
* Fix gulpfile.
* Caps, num and scroll lock indicators.
* Fix scroll lock.
The debounce filtering reports a key/switch change directly, without any extra delay. After that the debounce logic will filter all further changes, until the key/switch reports the same state for the given count of scans.
So a perfect switch will get a short debounce period and a bad key will get a much longer debounce period. The result is an adaptive debouncing period for each switch.
This value defines how often the same key/switch state has to be detected in successive reads until the next key state can be reported.
In other words this value defines the minimum debouncing period for a switch.
* Add Function level EEPROM configuration
Add kb and user functions for EEPROM, and example of how to use it.
* Bug fixes and demo
* Additional cleanup
* Add EEPROM reset macro to example
* Forgot init function in list
* Move eeconfig_init_quantum function to quantum.c and actually set default layer
* See if removing weak quantum function fixes issue
* Fix travis compile error
* Remove ifdef blocks from EECONFIG so settings are always set
* Fix for ARM EEPROM updates
* Fix merge issues
* Fix potential STM32 EEPROM issues
* rgb_matrix: use a driver ops struct
This is intended to avoid #ifdef proliferation on adding more drivers,
eg. model01, which use different architectures.
* rgb_matrix: document driver struct members
* rgb_matrix: remove unused LED testing code
* rgb_matrix: don't build into IS31x drivers unless being used
* rgb_matrix: refactor make config options
This ensures that the necessary files are included for any custom
RGB_MATRIX_ENABLE value, without having to add entries here for specific
boards. This particularly affects model01 because its controller is
integrated and won't be used anywhere else, so it's preferable not to
put it in common_features.mk.
This now validates the value of RGB_MATRIX_ENABLE.
It was necessary to fix an error in ergodox_ez rules.mk using the wrong
comment separator, yielding an invalid value.
* IS31x drivers: don't write the control registers all the time
This is only needed when they are changed. This is done in init() and
board- or keymap-specific code is free to make further changes.
* rgb_matrix: move structs from chip drivers to rgb_matrix_drivers.c
This approach is specific to the rgb_matrix functionality, so keep it
neatly separated from the raw chip drivers.
* Remove chording as it is not documented, not used, and needs work.
* Make Leader Key an optional feature.
* Switch from `PREVENT_STUCK_MODIFIERS` to `STRICT_LAYER_RELEASE`
* Remove `#define PREVENT_STUCK_MODIFIERS` from keymaps.
* add SCREEN_NAV layer for copy/pasting within screen
* working readreg/paste macros
* working read reg / paste macros
* write log and tran patterns, and expand
* add ls -la shortcut, add tab on combined layer
* put delete word on the right pinky key on shell_nav layer
* add TAB on the right side, add reset key
* added Cloud9 macros
* add cloud9 shortcuts to atreus layout
* added BROWSER_CONTROL layer
* finalized browser control layer
* adding comment
* add browser control layer to atreus
* add flashing command line
* remove the tab on combined layer
* remove the tomouse
* remove mouse layer, change log/tran expand patterns, cleanups
* add dumptlog macro
* add "delete to home" shortcut
* fix conflict
* remove unneeded mouse layer
* add meh shortcuts on the browser_control layer
* add/modify some macros
* explain the various layers
* putty paste is right mouse button
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* Add keyboard information and separated my custom layout from the default
* Add readme to Lukaus' Ergodox EZ keymap
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* Add keyboard information and separated my custom layout from the default
* Add readme to Lukaus' Ergodox EZ keymap
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* Fix merge conflict again?
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* Add keyboard information and separated my custom layout from the default
* Add readme to Lukaus' Ergodox EZ keymap
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* added my lukaus keymap (programmers dvorak with QWERTY, function, and mouse/keypad layers)
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* updated ergodox_ez keymap and initial commit for IBM Model M 122 key
* Add keyboard information and separated my custom layout from the default
* update keymap
* Update rules.mk to remove redundant commented line
* Fix missing key on default layout for IBM Model M 122 key
* Fix issues identified by drashna and noroadsleft
* Update readme for IBM 122 key
* Bocaj Layout Revamp
* Pull in Upstream (#1)
* Various tweaks for some Input:Club build processes
* change KEYMAP to LAYOUT for all new keyboards made using this script
* Add support for rev3 of the Atom47 (#2672)
* Added support for rev3 of the Atom47
* Updated Atom47 readme's
* Fix redefine error on rev2 and add maartenwut's keymap
* Fix redefine error on LEdiodes keymap
* Add Nyquist keymap (#2692)
* nyquist
* danielhklein nyquist setup
* shift left controls
* remove readme
* cleanup before pr
* ready for pr
* Adds Phantom TKL support (#2696)
* Add an info.json to phantom keyboard
* Add layouts
- KEYMAP_WINKEYLESS
- KEYMAP_7BIT
- KEYMAP_ISO
- KEYMAP_ISO_WINKEYLESS
* Add key_counts
* Add 2 missing F-Row keys
* Add TKC1800 info.json
Created an info.json for the tkc1800.
* Clueboard 60 info.json
- adds
- LAYOUT_60_ansi
- LAYOUT_60_iso
- KEYMAP_AEK
- KEYMAP
- LAYOUT_60_ansi_split_bs_rshift
* Add the Speedo keyboard
* Fix KC60 info.json file (#2707)
* change KEYMAP to LAYOUT in all the KC60 files
* Redo the info.json file
* Small fixes to TKC1800
- adjust F-row to use 0.25 spacing
- split left shift
- add key_count
* Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708)
* change diverge 3 KC_KEYMAP to LAYOUT
* Change KEYMAP to LAYOUT for handwired arrow pad
* change M10A to LAYOUT for m10-a
* Change KC_KEYMAP to LAYOUT_kc and KEYMAP to LAYOUT for mf68
* change KC_KEYMAP to LAYOUT for nano
* Refactor to LAYOUT
* refactor to LAYOUT-ansi and LAYOUT_iso for s65
* LAYOUT conversions for lfkkeyboards
* missed a few renames
* mini1800 for lfkeyobards support of LAYOUT
* Improve state/chord handling and clean up namespace
Some values that can never, ever, change were held in local
variables, rather than in PROGMEM. Fixed.
Change "pressed" to a signed int so the test for < 0 makes
sense, and to avoid possible weird failure modes in the
case where a key release comes in when pressed is already
zero. (Shouldn't happen, sure, but computers are weird.)
A lot of things in process_steno had external linkage for no
particular reason. They've been marked static. Stuff still
builds.
Distinguish between currently-held keys and keys that have
been held, and expose these values through a nicely-named API
so other code could, say, check on the current set of steno
chording in order to make displays. Also in passing fix up the
"state" value having external linkage so it could clash with
other people's variable declarations.
The API also provides hooks for key processing and steno chord
events, so you can monitor those events without having to
run in matrix_scan_user and recheck the values directly. Also
document these.
There is no path through processing a key that doesn't
end with a return false, so the nested return foo() are
gone and we just return false.
* Pull information from config.h and rules.mk (#2711)
* Pull information from config.h and rules.mk
* Readd the kbd75 maintainer
* Remove obsolete info.json entries (#2712)
* Clean up some long-standing errors when populating the API (#2715)
* More Configurator Warning Fixes (#2716)
* mf68_ble did not have the correct .c and .h files
* Fix JC65 KEYMAP to LAYOUT
* Change KEYMAP to LAYOUT for s60_x
* Convert KEYMAP to LAYOUT for lets_split boards
* Convert KEYMAP to LAYOUT
* more fixes to keymap for iris
* convert KEYMAP to LAYOUT for levinson keyboard
* change losinggeneration's KEYMAP to LAYOUT
* convert KEYMAP to LAYOUT
* convert KEYMAP to LAYOUT for nyquist
* convert KEYMAP to LAYOUT
* convert KEYMAP to LAYOUT for viterbi
* convert KEYMAP to LAYOUT
* convert KEYMAP and its subsidiries to the LAYOUT standard
* convert KEYMAP and its subsidiries to the new LAYOUT standard
* Normacos keymap for let's split keyboard (#2691)
* Cheers let's split keymap
* fixed typo on norman layer of cheers keymap for let's split
* fixed right handed mappings for home row
* cheers keymap for let's split redefinition
* updated Cheers keymap for let's split
* cheers keymap for let's split updated with some terminal macros
* renamed cheers let's split keymap to a more appropriate normacos
* updated normacos keymap doc / removed non functional keys
* reset let's split rules to default values
* added more spotlight search macros
* normalized keymap comments
* Moved numpad on lower layer
* hhkb jp personal keymap (#2698)
* Add JJ40 Cockpit personal keymap (#2713)
* Add JJ40 Cockpit keymap
* Fix lower layer symbols
* Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718)
* add readme to ktype keyboard
* add readme to m10a
* add readme to mini1800
* add readme to parent directory
* Revert "Pull in Upstream (#1)"
This reverts commit eeba0cec17.
* Updates to Bocaj Files
- Gave up on Tap Dance for ' -> '
+ Added another 'Secret'
+ Add ' -> ' to the Swap Hands key
+ Add Swap Hands to the ' -> ' key
+ Made Hand Swapping a momentary toggle
- Removed Auto Shift
+ Added Layer Toggle to KC_QUOTE for the _TOOLS layer
- Disabled Tap Dance
* Merge remote-tracking branch 'upstream/master'
* Updates to Bocaj
Added Game Layers, Removed Unused Macros
* Removed 'secrets.h'
* Updates to Bocaj
Remove 'secrets'.
Remove 'sendstring_workman.h' and set related layer back to qwerty due to macro compatibility issues
* Total revisioning of keymap and layout structure
* Missed readme.md file
* Bocaj - Permissive Hold setting enabled
* Switching from ErgoDox EZ centric configuration to the layout/user approach
* Bocaj - Create Userspace and Ergodox layout
* Update settings.json
* first verion of skug
* zudvp layer added and new thumb cluster
* move del to arrw cluster and switch places of algr and no_circ
* first verion of skug
* zudvp layer added and new thumb cluster
* move del to arrw cluster and switch places of algr and no_circ
* rework layouts
* Adds SYMB layer toggle to 'ä'
Closes#2
Also moves ctrl away from '-' and 'z' to the outer bottom corners
and removes redundant SYMB layer binds from there
* Adds mouse movement to right hand on ARRW layer
Closes#3
* Fix typoed keycodes
* planck qwerty nordic
* Update README.md
* Update README.md
* Implemented changes to planck layout requested by drashna
* Implemented changes to ergodox layout requested by drashna
NOTE: `version.h` is still required.
* add SCREEN_NAV layer for copy/pasting within screen
* working readreg/paste macros
* working read reg / paste macros
* write log and tran patterns, and expand
* add ls -la shortcut, add tab on combined layer
* put delete word on the right pinky key on shell_nav layer
* add TAB on the right side, add reset key
* added Cloud9 macros
* add cloud9 shortcuts to atreus layout
* added BROWSER_CONTROL layer
* finalized browser control layer
* adding comment
* add browser control layer to atreus
* add flashing command line
* remove the tab on combined layer
* remove the tomouse
* remove mouse layer, change log/tran expand patterns, cleanups
* add dumptlog macro
* add "delete to home" shortcut
* fix conflict
* remove unneeded mouse layer
* add meh shortcuts on the browser_control layer
* add/modify some macros
* explain the various layers
* Bocaj Layout Revamp
* Pull in Upstream (#1)
* Various tweaks for some Input:Club build processes
* change KEYMAP to LAYOUT for all new keyboards made using this script
* Add support for rev3 of the Atom47 (#2672)
* Added support for rev3 of the Atom47
* Updated Atom47 readme's
* Fix redefine error on rev2 and add maartenwut's keymap
* Fix redefine error on LEdiodes keymap
* Add Nyquist keymap (#2692)
* nyquist
* danielhklein nyquist setup
* shift left controls
* remove readme
* cleanup before pr
* ready for pr
* Adds Phantom TKL support (#2696)
* Add an info.json to phantom keyboard
* Add layouts
- KEYMAP_WINKEYLESS
- KEYMAP_7BIT
- KEYMAP_ISO
- KEYMAP_ISO_WINKEYLESS
* Add key_counts
* Add 2 missing F-Row keys
* Add TKC1800 info.json
Created an info.json for the tkc1800.
* Clueboard 60 info.json
- adds
- LAYOUT_60_ansi
- LAYOUT_60_iso
- KEYMAP_AEK
- KEYMAP
- LAYOUT_60_ansi_split_bs_rshift
* Add the Speedo keyboard
* Fix KC60 info.json file (#2707)
* change KEYMAP to LAYOUT in all the KC60 files
* Redo the info.json file
* Small fixes to TKC1800
- adjust F-row to use 0.25 spacing
- split left shift
- add key_count
* Fix some Configurator Warnings regarding LAYOUT vs KEYMAP (#2708)
* change diverge 3 KC_KEYMAP to LAYOUT
* Change KEYMAP to LAYOUT for handwired arrow pad
* change M10A to LAYOUT for m10-a
* Change KC_KEYMAP to LAYOUT_kc and KEYMAP to LAYOUT for mf68
* change KC_KEYMAP to LAYOUT for nano
* Refactor to LAYOUT
* refactor to LAYOUT-ansi and LAYOUT_iso for s65
* LAYOUT conversions for lfkkeyboards
* missed a few renames
* mini1800 for lfkeyobards support of LAYOUT
* Improve state/chord handling and clean up namespace
Some values that can never, ever, change were held in local
variables, rather than in PROGMEM. Fixed.
Change "pressed" to a signed int so the test for < 0 makes
sense, and to avoid possible weird failure modes in the
case where a key release comes in when pressed is already
zero. (Shouldn't happen, sure, but computers are weird.)
A lot of things in process_steno had external linkage for no
particular reason. They've been marked static. Stuff still
builds.
Distinguish between currently-held keys and keys that have
been held, and expose these values through a nicely-named API
so other code could, say, check on the current set of steno
chording in order to make displays. Also in passing fix up the
"state" value having external linkage so it could clash with
other people's variable declarations.
The API also provides hooks for key processing and steno chord
events, so you can monitor those events without having to
run in matrix_scan_user and recheck the values directly. Also
document these.
There is no path through processing a key that doesn't
end with a return false, so the nested return foo() are
gone and we just return false.
* Pull information from config.h and rules.mk (#2711)
* Pull information from config.h and rules.mk
* Readd the kbd75 maintainer
* Remove obsolete info.json entries (#2712)
* Clean up some long-standing errors when populating the API (#2715)
* More Configurator Warning Fixes (#2716)
* mf68_ble did not have the correct .c and .h files
* Fix JC65 KEYMAP to LAYOUT
* Change KEYMAP to LAYOUT for s60_x
* Convert KEYMAP to LAYOUT for lets_split boards
* Convert KEYMAP to LAYOUT
* more fixes to keymap for iris
* convert KEYMAP to LAYOUT for levinson keyboard
* change losinggeneration's KEYMAP to LAYOUT
* convert KEYMAP to LAYOUT
* convert KEYMAP to LAYOUT for nyquist
* convert KEYMAP to LAYOUT
* convert KEYMAP to LAYOUT for viterbi
* convert KEYMAP to LAYOUT
* convert KEYMAP and its subsidiries to the LAYOUT standard
* convert KEYMAP and its subsidiries to the new LAYOUT standard
* Normacos keymap for let's split keyboard (#2691)
* Cheers let's split keymap
* fixed typo on norman layer of cheers keymap for let's split
* fixed right handed mappings for home row
* cheers keymap for let's split redefinition
* updated Cheers keymap for let's split
* cheers keymap for let's split updated with some terminal macros
* renamed cheers let's split keymap to a more appropriate normacos
* updated normacos keymap doc / removed non functional keys
* reset let's split rules to default values
* added more spotlight search macros
* normalized keymap comments
* Moved numpad on lower layer
* hhkb jp personal keymap (#2698)
* Add JJ40 Cockpit personal keymap (#2713)
* Add JJ40 Cockpit keymap
* Fix lower layer symbols
* Add readme for "major" keyboards to eliminate more QMK Configurator errors (#2718)
* add readme to ktype keyboard
* add readme to m10a
* add readme to mini1800
* add readme to parent directory
* Revert "Pull in Upstream (#1)"
This reverts commit eeba0cec17.
* Updates to Bocaj Files
- Gave up on Tap Dance for ' -> '
+ Added another 'Secret'
+ Add ' -> ' to the Swap Hands key
+ Add Swap Hands to the ' -> ' key
+ Made Hand Swapping a momentary toggle
- Removed Auto Shift
+ Added Layer Toggle to KC_QUOTE for the _TOOLS layer
- Disabled Tap Dance
* Merge remote-tracking branch 'upstream/master'
* Updates to Bocaj
Added Game Layers, Removed Unused Macros
* Removed 'secrets.h'
* Updates to Bocaj
Remove 'secrets'.
Remove 'sendstring_workman.h' and set related layer back to qwerty due to macro compatibility issues
* Total revisioning of keymap and layout structure
* Missed readme.md file
* Bocaj - Permissive Hold setting enabled
* Feat: Create personal ergodox keymap
* FEAT: Update bpruitt-goddard keymap with custom layout
* Fix: Remove unused pieces from bpruitt-goddard keyboard
* Feat: Add QWERTY layer to bpruitt-goddard ergodox keymap
* Refactor: Remove unused layers from bpruitt-goddard keymap
* Fix: Update base layer for bpruitt-goddard keymap
* Fix: Remove un-reachable key combo from FN layer
* Fix: Rename FN layer to numpad layer
* Feat: Create one-shot modifier layer for mac os use
* Doc: Update readme to reflect my keymap
* Feat: Add mac desktop space switching
* feat: Update keymap layers to use ergodox pretty format
* Add Colemak Mod-DH vars
* Add Norman Layot vars
* Set Shift Indicator to include CAPS Lock as well
* Change MEH to GUI
* Add Enter to Macro layer
* Switch raise and lower layers to make more sense (to me)
* Replace unused quote on Ergodox
* Add One Shot defines
* Dim indicator LEDs
* Add short codes for KC_SECRET
* Fix typos
* Update OLKB code in userspace
* Add global userspace config.h
* add compile fix
* Automatically include from userspace
* update readme
* Re-add QMK Scan loop
* Add EEPROM reset code to all keymaps
* Shorten fauxclick sound
* Use layouts instead of keymap, when possible
* Add OSM detection to ergodox
* Convert Viterbi to LAYOUT macro
* Clean up game macros
* Because I accidently removed the C6 AUDIO define from my viterbi... Whoops
* Minor formatting
* Fix Woodpad because it's still there
* Move Ergodox keymap into layouts folder
* Add build date to version macro
* Remove PREVENT_STUCK_MODIFIERS from config
* add SCREEN_NAV layer for copy/pasting within screen
* working readreg/paste macros
* working read reg / paste macros
* write log and tran patterns, and expand
* add ls -la shortcut, add tab on combined layer
* put delete word on the right pinky key on shell_nav layer
* add TAB on the right side, add reset key
* added Cloud9 macros
* add cloud9 shortcuts to atreus layout
* added BROWSER_CONTROL layer
* finalized browser control layer
* adding comment
* add browser control layer to atreus
* add flashing command line
* remove the tab on combined layer
* add SCREEN_NAV layer for copy/pasting within screen
* working readreg/paste macros
* working read reg / paste macros
* write log and tran patterns, and expand
* add ls -la shortcut, add tab on combined layer
* put delete word on the right pinky key on shell_nav layer
* add TAB on the right side, add reset key
* added Cloud9 macros
* add cloud9 shortcuts to atreus layout
* added BROWSER_CONTROL layer
* finalized browser control layer
* adding comment
* Add to list of predefined rgb colors
* Change layer colors, to reflect new options
* Use Tag Toggle instead
* Clean up macros and add breathing indication for OSM Layer
* Get Viteri Macropad working properly
* Disable unused action features
* Use I2C because that's smaller, apparently
* Remove viterbi-half code
* Change tapping term to be longer
* Make Audio/Underglow settings permanent
* Use wait_ms rather than _delay_ms
* Readd One Shot Mods
* Switch to Imperial March startup sound
* Move OSM to it's own layer
* Minor Formatting Tweaks
* Keymap Templates and formatting fixes
* Move faux clicky into userspace
* Get Audio and RGB enabled on Orthodox-rev1
* Add faux click to userspace
* Add Orthodox Rev3 check to macros
* Hack Orthodox Name for drashna keymap
* No more One Shots
* Ergodox product name hack
* Enable Audio on Orthodox by default
* Minor tweaks
modified: users/drashna/drashna.c
* Fix Workman ASCII art
* Add OSM for shifts
* Make Viterbi's 00 code consistant
* Minor Cleanup off Userspace
* Change Tapping Term on Ergodox
* Re-add EEPROM code
* Minor updates and tweaks
* Use QMK_H variables to make keymaps more universal
* Forgot 'break;' for covecube layer
* Tweak Viterbi files now that I have hands on
* Add secrets to Ergodox
* RGB tweaks to Viterbi
* Viterbi RGB layout tweeks
* Minor tweaks
* Add One Shot Mod tap toggle
* Add Faux Clicky to Viterbi, and disable controller's LEDs
* Minor tweaks
* Move D3 keycode defines into userspace
* Updated Userspace Readme
* Initial version of the Ergodox EZ Bépo keymap, TypeMatrix style.
* Update the readme file and add some handling of the keyboard LEDs.
* Toggling layer requires 2 taps.
* Remove a constant as it conflicts with an earier definition.
* Fix a typo in a type name.
* Fix the arrow layer that had a bad number.
* Second main version of my bepo keymap, after the tests of the first one.
* Fix the triggering of the function layer and the handling of the LED.
* Reduce the shining of the LEDs.
* Fix the swap layer (that required a keypress on the other side of the keyboard to be deactivated).
* Duplicate some of the mouse button for easy access.
* Move some of the secondary functions out of the center keys.
* Slightly slow down the mouse and mouse wheel.
* Update the comment and readme.md for the V2 of the keymap.
* Invert button 2 and 3 of the mouse. Really fix the SWAP layer.
* Test with the right alt modifier added as secondary function (on hold) of the space keys. The right alt key becomes a left alt one.
* Add specific shift/ctrl for the FN layer; move some mouse keys around to help with that.
* Remove one FN modifier-on-hold key that was not useful.
* Duplicate the FN layer inside the MOUSE layer.
* Add support (not tested yet) for macro recording and play on a single key as a tap dance.
* Allow to stop recording the macro by tapping once on the macro key (still un-tested).
* Add support for macro recording using some tap dance.
* shorten a comment.
* Reinstate the FN toggle on the percent key (so that there is an FN toggle on the right-hand-side).
* Fix some comments and update the link to the most up-to-date image.
* Small fix to the keymap images.
* Change overwatch to Gamepad
* Remove secrets file
* Add sample sensitive.h file
* Borrow @colinta's secrets.h include method
* Remove unnessary placeholder for macros
* Set secrets to use PROGMEM for char string
* Add readme files to my keymaps and userspace
* ignore libs
* Clang complete file
* Add VIM_A, VIM_S, VIM_COMMAND_SHIFT_D, and VIM_COMMAND_SHIFT_A
Add VIM_A, VIM_S, VIM_COMMAND_SHIFT_D, and VIM_COMMAND_SHIFT_A
a s O
* Comment blocks for minimap
generated at
http://patorjk.com/software/taag/#p=display&h=0&v=0&c=c&f=Banner&t=COMMENT
* Be explicit
* More Comment blocks
* Add J
* add A, C, D, J, S, O
* Make h j k l explicitly vim commands (useful for JOIN)
* add cb ce cw ch cj ck cl db de dw dh dj dk dl vb ve vh vj vk vl x ciw diw viw
* debug messages for ci di vi
* Var capitalized
* Save bytes by disabling mouse keys
* Add Y P
* Be more explicit about which key was pressed
* Be more explicit about which key was sent
* Move project to new directory structure
* Remove non-vim layout folder
* Replace KC_TRNS with KC_NO on normal layer
* Insert Mode as default
* Try to prevent crashes
* Put normal mode back
* Revert "ignore libs"
This reverts commit 4c5d7592d6.
* add rules.mk
* Add mouse bindings
* Checkout most recent keymap following rebase
* Realign mouse button keys
* Make a macro for TO(NORMAL_MODE)
"unselecting" left-hand rows is a wasted i2c transaction.
On the left-hand side, the ergodox uses a GPIO expander. It
does *not* change "direction" (input/output) of pins, it just
sets pins high or low.
But all the pins are written at once. There's no way to
change just one pin's value; you send a full byte of all eight
row pins. (Not all of them are in use, but that doesn't matter.)
So every pin is either +V or ground. This is in contrast
with the right-hand side, which is using input mode to make pins
be neutral.
So there's no need to "deselect" the rows on the left side
at all. To select row 0, you set the GPIO register for the
rows to 0xFE. The previous code would then set it back to
0xFF, then set it to 0xFD on the next cycle. But we can just
omit the intervening step, and set it to 0xFD next cycle,
and get the same results.
And yes, I tested that the keyboard still works.
On my system, scan rate as reported by DEBUG_SCAN_RATE goes
from 445 or so to 579 or so, thus, from ~2.24ms to ~1.73ms.
Signed-off-by: seebs <seebs@seebs.net>
* pull fuse settings for bootloader jump
* fix 32a chips
* make automatic bootloader selection optional
* quantify bootloaders
* fixs #164, speeds up dfu reset
* fix for chips w/o usb
* missing an n
* fix bootloader sizes, use words for addresses
* fix bmini, pearl, and [[ issue, make things quiet
* ignore avr errors on arm for now
* update settings for the light
* document bootloader stuff
* add bootloader title
With these changes, the ergodox ez goes from 315 scans per second
when no keys are pressed (~3.17ms/scan) to 447 (~2.24ms/scan).
The changes to the pin read are just condensing the logic, and
replacing a lot of conditional operations with a single bitwise
inversion.
The change to row scanning is more significant, and merits
explanation. In general, you can only scan one row of a keyboard
at a time, because if you scan two rows, you no longer know
which row is pulling a given column down. But in the Ergodox
design, this isn't the case; the left hand is controlled by an
I2C-based GPIO expander, and the columns and rows are *completely
separate* electrically from the columns and rows on the right-hand
side.
So simply reading rows in parallel offers two significant
improvements. One is that we no longer need the 30us delay after
each right-hand row, because we're spending more than 30us
communicating with the left hand over i2c. Another is that we're
no longer wastefully sending i2c messages to the left hand
to unselect rows when no rows had actually been selected in the
first place. These delays were, between them, coming out to
nearly 30% of the time spent in each scan.
Signed-off-by: seebs <seebs@seebs.net>
This is particularly relevant for, e.g., the ergodox EZ and
other keyboards with slow scan rates. Without changing the API or
behavior of individual process_record() calls, we allow a
configuration flag to make multiple calls in a single scan.
This will probably have miniscule effects on non-steno users,
and it's not enabled by default for any keyboards. Added note
about it to ergodox README.
Signed-off-by: seebs <seebs@seebs.net>
* move underglow led count from parent to child
* Added pearl support
* Added personal keymap for pearl
* start splitting up ps2avrGB boards
* clean up ps2avrgb boards
* Move keycodes to their own section
* Clarify `KC_PWR` vs `KC_POWER`. Fixes#1994.
* Cleaned uppersonal userspace and keymaps (#1998)
* Cleanup of keymaps
* Remove Tap Dance from Orthodox keymap
* Cleaned up userspace and keymaps
* Added sample (template)userspace files to my folder
* Document the Teensy hardware reset problem
* add mfluid keymap to atreus62
* Update hand_wire.md
Change "Resin" to "Rosin"
* Add keyboard: mt40 (#2001)
* add keyboard: chinese planck clone
* rename chinese_planck to mt40
* add image for the mt40 board
* lets_split: Fix matrix_init for ROW2COL
Signed-off-by: Marian Rusu <rusumarian91@gmail.com>
* Add Keymap for Whitefox Truefox layout
* Add keyboard: ACR60 (#1999)
* base acr60 keyboard folder created
* mitch acr60 keymap updates, documentation
* latest keymap updates
* slight modifications to layer switching
* Changes to Atreus and Ergodox EZ Dvorak 42key layout (#1997)
* importing 42 key dvorak layout
* added comment for build instructions
* adding atreus dvorak 42 key layout
* added readme
* add readme
* build instructions
* additional MEH shortcuts
* added shifted symbols on symbols layer
* working extra symbols on COMBINED layer
* bring atreus layout inline with the ergodox one
* add necessary macros
* working ls macro
* added more shell macros
* added screen rename / screen number macros
* add ctrl-a key in shell-nav to use screen more easily
* added shell screen layer
* assign screen switching macros to screen layer
* define all screen switching macros
* more screen-related shortcuts added on shell screen layer
* change shell nav bottom right row to match base layer (backspace / delete)
* remove some mappings on SHELL_NAV layer as they are now in the screen layer
* added more screen macros
* changes to COMBINED layer (pipe on the right) and modified shell nav
* moved pipe/backslash to then right
* documented SHELL_SCREEN layer
* put backspace/delete on SHELL_NAV layer
* add an explicit lisence file for github to pickup
* Updated keymaps to allow base layer alternation for QWERTY, Colemak & Dvorak (#1962)
* First commit of the Terminus_Mini firmware and the DivergeJM version of the Nyquist firmware
* Fix terminus_mini & nyquist/DivergeJM readme files
Previously an outdated copy of the default readme. Updated to match the Nyquist/DivergeJM format (DivergeJM is a split 5x12 implementation of the terminus_mini layout)
* Update makefiles to rules.mk
Renamed both Makefiles to rules.mk, removed references to makefiles
* Updated rules.mk
Inadvertantly removed important code from the rules.mk in previous commit. This has been restored.
Also disabled Tap_Dance in both rules.mk files
* Moved terminus_mini to handwired
Realised that existing directory was not appropriate for the terminus_mini project, moved to handwired.
* New Frosty Flake layout for QFR TKL
Added a TKL layout for the Frosty Flake with a navigation cluster on LOWER under the left hand and a similarly functioning MOUSE layer that includes mouse navigation functionality.
* README fix & keymap update for 3 keyboards
Fixed the markdown for the handwired/terminus_mini:default, Nyqyist:DivergeJM & frosty_flake:QFR_JM.
Added TAPPING_TERM = 150 to config.h for all keyboards
Switched LT(LOWER) and LAlt on the mod row for ortholinear boards.
* Update readme for QFR_JM to include make instructions
* Revert "Merge branch 'master' of https://github.com/mogranjm/qmk_firmware"
This reverts commit a45f264ada, reversing
changes made to 62349c3341.
* Revert "Revert "Merge branch 'master' of https://github.com/mogranjm/qmk_firmware""
This reverts commit eae54fb3be.
* Added QWERTY support to the QFR_JM
Implemented variable default base layer from the Planck default keymap.
* Update README to reflect QWERTY support
* Nyquist:DivergeJM - Update RESET location
Add a reset button to both hands, accessible when halves are disconnected.
* Typo fix
* Update DivergeJM
Switched master to Left hand,
Moved Reset key to a different location
* Added macros to send R pointer & dplyr pipe
Macros added as a string of keypresses, couldn't figure out how to get SEND_STRING to work.
* Added ADJUST -> QWERTY, DVORAK, COLEMAK
Re-implemented update_tri_layer fuctionality to reset base layer for Terminus_Mini & DivergeJM Nyquist keymaps to QWERTY, DVORAK or COLEMAK via the ADJUST layer.
Updated ReadMe files accordingly.
* Fix base layout diagram for Terminus_Mini
Remove split from diagram
* Changed the R operators to SEND_STRING, rather than keypress macros
* Added Dvorak to the QFR_JM keymap
* fixed duplicate row in Nyquist keymap
* Fix readme - LAlt location on mouse layer
* Set EE_HANDS to allow either Nyquist hand to work as master.
* Update R operator strings, clean up layering for terminus_mini, QFR_JM and DivergeJM
"<-" to " <- "
"%>%" to " %>% "
Also played around with the layering, removed unnecessary TAP_TOGGLE for LOWER and shuffled FUNCTION and MOUSE momentary actions to reflect layer order.
* Update bottom alpha row to output symbols on LOWER
This row now outputs the following (z -> /) when in the LOWER layer:
<-
%>%
{
[
`
|
]
}
.
/
* Updated readme files for QFR_JM, terminus_mini & DivergeJM
QFR_JM readme reflects correct LOWER bottom row symbol output,
terminus_mini & DivergeJM reflect correct command line make instructions.
* Add media keys to QFR_JM LOWER - Replicate QFR default functionality
* Fix issue with Mouse layering
Stuck on mouse layer because the wrong macro was assigned to the 'exit layer' key. Reassigned that key.
* Changed " <- " to "<- " for QFR_JM, terminus_mini & DivergeJM
* Add "KC_MAKE" to userspace example
* QMK DFU bootloader generation (#2009)
* adds :bootloader target
* update planck and preonic revisions
* remove references to .h files for planck
* update preonic keymap
* only add keyboard.h files that exist
* add production target
* hook things up with the new lufa variables
* update rules for planck/preonic
* back backlight key turn of status led when pressed
* add manufacturer/product strings to bootloader
* fix push script
* Added support for let's split kailh socket version (#2010)
* Added support for socket version of the let's split
* renamed files
* socket-version-works
* fix up lets_split keymaps
* fix up lets_split keymaps
* shrink preonic by a bit
* fix lets_split keyboards
* update travis script
* update travis script
* update version silencing
* importing 42 key dvorak layout
* added comment for build instructions
* adding atreus dvorak 42 key layout
* added readme
* add readme
* build instructions
* additional MEH shortcuts
* added shifted symbols on symbols layer
* working extra symbols on COMBINED layer
* bring atreus layout inline with the ergodox one
* add necessary macros
* working ls macro
* added more shell macros
* added screen rename / screen number macros
* add ctrl-a key in shell-nav to use screen more easily
* added shell screen layer
* assign screen switching macros to screen layer
* define all screen switching macros
* more screen-related shortcuts added on shell screen layer
* change shell nav bottom right row to match base layer (backspace / delete)
* remove some mappings on SHELL_NAV layer as they are now in the screen layer
* added more screen macros
* changes to COMBINED layer (pipe on the right) and modified shell nav
* moved pipe/backslash to then right
* documented SHELL_SCREEN layer
* put backspace/delete on SHELL_NAV layer