Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Nick Brassel <nick@tzarc.org>
* initial commit for froggy 106 key mode
* add mode indicator on OLED
* use #pragma once instead of include guard
* remove unusable codes
* remove audio codes, because helix rev.2 has no audio feature
* use set_single_persistent_default_layer
* remove eeprom update check
OLED Display fixes
Add support for RGBLIGHT Layers
Add gaming layer to corn and kyria
RGBLight Startup Animation fixes and improvements (uses matrix_scan now!)
Pimoroni Trackball support added (IT'S RGB!!!)
Fix issues due to code changes
* Add S7 Elephant Rev2 Support
* Apply suggestions from code review
I tested the changes on my board as well, thanks for the suggestions!
* Added a default folder in the makefile so that this would no longer be a breaking change
* added bordsource 3x4 macro pad
* added bordsource 3x4 macro pad
* Update keyboards/boardsource/3x4/3x4.h
* Update keyboards/boardsource/3x4/3x4.c
* Update keyboards/boardsource/3x4/config.h
* Update keyboards/boardsource/3x4/config.h
* Update keyboards/boardsource/3x4/config.h
* Update keyboards/boardsource/3x4/config.h
* added link to readme
* Update keyboards/boardsource/3x4/keymaps/default/keymap.c
* Apply suggestions from code review
* changed the layout to refelect the keyboard
* Update keyboards/boardsource/3x4/info.json
Oh your right my bad. In the future is there an easier way for me to test the info.json and the confiscator before doing my pr?
* Apply suggestions from code review
* got 3x4 building again
* Apply suggestions from code review
* applied requested change on readme
* Update keyboards/boardsource/3x4/readme.md
* Apply suggestions from code review
* add ansi and iso layouts
* fix iso map mistake
* fix mistake again...
* Update keyboards/kbdfans/kbd67/mkii_soldered/keymaps/iso/keymap.c
* rename layout macros to the blocker variants and add ansi_split_bs
* Apply suggestions from code review
* Add Kyria keymap
* clean split hand detection code
* rename "joystick" to "thumbstick"
* thumbstick overhaul
* removed angle correction, seems buggy
* save some memory
* Remove deprecated config option
* Use the correct types for getting host led states
* Fix include path
* Made .h files for encoder and oled code
* Increase speed cap on thumbstick
* Add custom corne keymap
* Clean up rules.mk
* Clean up base layer on keymap.c
* Clean up lower layer on keymap.c
* Clean up raise layer on keymap.c
* Clean up adjust layer in keymap.c
* README cleanup
* replaced "normal" numbers with "keypad" numbers:
KC_P4 replaced by KC_KP_P4
* replaced "normal" keys on Numpad Layer with the "KeyPad" keys
KC_1 replaced by KC_P1 etc.
* Fixing via issues
* Fixing whitespace issues on the keymap
* Fixed the default via layer 1 keymap, was a little weird before
* Removing redundant declarations in via/rules.mk
* preliminary check in, basically a copy from 159's github with a few additions to get it to compile
* update readme
* fixup the LAYOUT macro labels to be more reasonable
* add tkl_ansi LAYOUT macro for community layout support
* clean up rules.mk, add community layout suport, and add in bootloader
* add a tsangan layout macro
* spruce up readme
* add VIA keymap
* add qmk configurator support
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Joel Challis <git@zvecr.com>
* remove unneeded file
* Update keyboards/projectkb/signature87/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/projectkb/signature87/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/projectkb/signature87/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Using the wpm feature, I create a responsive OLED animation that changes based on how fast the user types. As written there are three phases (It's bongo cat!) but can easily be reconfigured and replaced with other images.
Multiple byte arrays consume considerable space so choose your usage wisely. When customized, the smaller the byte array used, the better, due to space limitations on most microcontrollers.
I made this with no prior knowledge of C, so I'm looking forward to any and all suggested improvements.
Credit is owed to obosob for laying the foundation for this little script as well to /u/pixelbenny for graciously providing the bongocat artwork I adapted for the animation.
The config.h includes a tweak to the Kyria's LED mapping, so that the order now reflects their physical positions, making animations smoother.
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Simon Schuster <SimonSchuster@Simons-MacBook-Pro-2.local>
Co-authored-by: James Incandenza <james@ij.net>
A user in Discord reported that the right bracket and ISO hash keys on
KBD67 rev2 using LAYOUT_65_iso were swapped. When comparing
LAYOUT_65_iso with LAYOUT_65_ansi, the problem with a wrong assignment
of the right bracket key is obvious — that key is K1D in the ANSI layout
macro, but the ISO layout macro had K1E there, and K1D at the position
of the ISO hash key.
Fix the LAYOUT_65_iso macro by swapping those arguments (and also align
the K1D argument for the right bracket key properly).
* Gami Studio Lex60: Configurator Layout support
* correct key sizes on bottom row per lukelex
* add LAYOUT_60_ansi
To test, run `make gami_studio/lex60:default_60_ansi` and flash.
* add 60_ansi keymap
To test, run `make gami_studio/lex60:60_ansi` and flash.
* remove data for 60_ansi layout
* Added Via config for Clueboard 66
* Update keyboards/clueboard/66/keymaps/via/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Enabled MouseKeys
This required enabling LINK_TIME_OPTIMIZATION_ENABLE
* Added 4th layer as per tzarc's recommendation on another PR
Co-authored-by: Ryan <fauxpark@gmail.com>
ANAVI Macro Pad 8 is an open source mini mechanical keyboard with
8 keys, backlit, addressable RGB WS2812B LED strip on the back and
mini OLED display. Powered by ATmega 32U4 microcontroller and with
microUSB connector.
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Signed-off-by: Leon Anavi <leon@anavi.org>
* Add Via support for Percent Canoe
* Removed unnecessary flags from rules.mk
* Changes as per PR
* Added 2 additional empty layers (for a total of 4)
* Set a unique vendor id for all percent studio boards
* Set a unique product id for the canoe
* Fixed formatting, removed trailing comma
* Fixed PS/PT typo for vendor id
* Removed unnecessary variables
* Removed unnecessary slashes
* Fixed missing layer name
Co-Authored-By: Ryan <fauxpark@gmail.com>
Co-Authored-By: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-Authored-By: Drashna Jaelre <drashna@live.com>
Co-authored-by: Drashna Jaelre <drashna@live.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* pick a sane VID
* add the VIA Keymap
* update copyright notice
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/waldo/keymaps/via/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* [Keymap] plattfot - Kyria layout
Keymap for programming, writing in both English and Swedish and
easy navigate a tiling window manager.
See README.md for more info
* Fix letter case on the headline for the readme
As suggested by fauxpark
* Update keyboards/kyria/keymaps/plattfot/keymap.c
Clean up double tap
As suggested by fauxpark
* Update led check for render_status
As suggested by fauxpark
* Update to use get_highest_layer for encoder_update_user
As suggested by fauxpark
* Missing an apostrophe in the header of the README.md
Last minute change.
* Removed explicit initialization for _DEFAULT
As suggested by drashna
* Use smaller image for the README.md
As suggested by noroadsleft
* Branch point for 2020 May 30 Breaking Change
* Migrate `ACTION_LAYER_TOGGLE` to `TG()` (#8954)
* Migrate `ACTION_MODS_ONESHOT` to `OSM()` (#8957)
* Migrate `ACTION_DEFAULT_LAYER_SET` to `DF()` (#8958)
* Migrate `ACTION_LAYER_MODS` to `LM()` (#8959)
* Migrate `ACTION_MODS_TAP_KEY` to `MT()` (#8968)
* Convert V-USB usbdrv to a submodule (#8321)
* Unify Tap Hold functions and documentation (#8348)
* Changing board names to prevent confusion (#8412)
* Move the Keyboardio Model01 to a keyboardio/ subdir (#8499)
* Move spaceman keyboards (#8830)
* Migrate miscellaneous `fn_actions` entries (#8977)
* Migrate `ACTION_MODS_KEY` to chained mod keycodes (#8979)
* Organizing my keyboards (plaid, tartan, ergoinu) (#8537)
* Refactor Lily58 to use split_common (#6260)
* Refactor zinc to use split_common (#7114)
* Add a message if bin/qmk doesn't work (#9000)
* Fix conflicting types for 'tfp_printf' (#8269)
* Fixed RGB_DISABLE_AFTER_TIMEOUT to be seconds based & small internals cleanup (#6480)
* Refactor and updates to TKC1800 code (#8472)
* Switch to qmk forks for everything (#9019)
* audio refactor: replace deprecated PLAY_NOTE_ARRAY (#8484)
* Audio enable corrections (2/3) (#8903)
* Split HHKB to ANSI and JP layouts and Add VIA support for each (#8582)
* Audio enable corrections (Part 4) (#8974)
* Fix typo from PR7114 (#9171)
* Augment future branch Changelogs (#8978)
* Revert "Branch point for 2020 May 30 Breaking Change"
* Fix crkbd slave matrix print to require debug_matrix
* Remove redundant include
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Re-add liles after hard reset
* repopulate with keymap
* Update keyboards/minidox/keymaps/rsthd_combos/keymap.c
Updated how the layers are defined to reduce firmware bloat
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/minidox/keymaps/rsthd_combos/keymap.c
Removed unnecessary key codes
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/minidox/keymaps/rsthd_combos/keymap.c
Removed backslash from each line of the layers in accordance with current convention.
Co-authored-by: Ryan <fauxpark@gmail.com>
* Edit of readme
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Normalise layout and README from yttyx niu keymap.
* Correct case of README.
* Changes following review.
Co-authored-by: Nick Willis <nick@theb.org.uk>
* - Balance 12 layers now in their final form
- Added Plover layer
- Updated README to use layout images
* Add headings to layer images.
* - Remove redundent TO(_BA) from FC layer
- Link to new FC layer image from README
* Highlight home keys.
* Changes following review.
* Fix info about RGB LEDs on the bottom.
* Added RGB LEDs support
* Added RGB LEDs config options
* Added minila layout with RGB keys
* Create readme.md
* Update keyboards/ymdk/bface/keymaps/minila/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/ymdk/bface/keymaps/minila/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/ymdk/bface/keymaps/minila/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
* Update keyboards/ymdk/bface/keymaps/minila/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/ymdk/bface/keymaps/minila/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* do the basic port for the WM1
* with much help from tzarc, get the addresses correct
* make the keymap more closely mirror what the board has
* Add QMK Configurator support
* update the readme
* get indicator leds working
* enable RGB underglow
* fix up rgb underglow
* add notes regarding existence of backlight
* Update keyboards/wolfmarkclub/wm1/readme.md
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/config.h
* Update keyboards/wolfmarkclub/wm1/ld/wm1_f103.ld
* Update keyboards/wolfmarkclub/wm1/bootloader_defs.h
* Update keyboards/wolfmarkclub/wm1/config.h
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/wm1.c
* Update keyboards/wolfmarkclub/wm1/wm1.c
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/readme.md
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* Update keyboards/wolfmarkclub/wm1/rules.mk
* update readme
* Add support for Ace of Spades
* Fix the F-row mappings
* Add the tkl_iso layout
* Put KC_PAUS back in place of top layer reset
* aholland909 personal keymap for Ace of Spades
* Address PR feedback and rename to aos/tkl
* Rename keyboard implementation filenames
* Remove unnecessary layers
* info.json for the configurator
The factory TMK firmware for the TADA68 supports backlight breathing,
so I was surprised when the BL_BRTG key I set up in the online QMK
configurator didn't work.
As far as I can tell, this was just a simple omission.
* Added Chimera Ortho keymap
* Cleaning up the rules
* Removing firmware sizes
* Modified URLs to point to new locations
* Remove _quantum functions from custom matrix.c code
* Fix 1<col instead of 1<<col typo in matrix_is_on()
* Make PREVENT_STUCK_MODIFIERS the default
* Removing the IS_COMMAND custom definition
* Adding info.json
* Adding config overrides
* Adjusting for the reformat
* removing backlight reference
* fixing some compile issues
* Fixing a matrix issue
* Update keyboards/chimera_ortho_plus/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* lining up the matrix
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/readme.md
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/info.json
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/chimera_ortho_plus.h
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* Update keyboards/chimera_ortho_plus/keymaps/default/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/chimera_ortho_plus/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com>
* added git codes
* started git layer
* finished structure for git layer. MOD: replaced mouse with mod keys on right hand
* layout changing layer
* mod enter. default qwerty layer. removed mods on number layer
* workman layout. git log, show. blank enter and bsspace
* config layer. toggleable ctrl/alt for OS
* removed keymap comments
* strings and combos layers. sarcasm and ctrl_ctv. RGB configs
* reintroduced enter and bspace. delete backspace as a function. git push -u and checkout -b
* string macros
* OS specific home/end
* OS mac & win keys. N delete global backspace
* refactored backspace functions
* ctrl lctv macro
* base layer toggle fix
* whitespace
* BS + L for FF and chrome
* replaced 1 keycode with userspace
* added userspace config
* remove comments
* add another keycode with a variable
* moved all keymaps and codes to common file
* ctrl z mod
* removed ctrl z
* sipmlified OS functions
* moved is_win to keyboard level
* added mac alt tab
* added ctrl tab in mac + clean up variables in art.h
* tild string macro. added mac left/right + home/end
* mac ctrl backspace
* enum layers for default layout
* added ergodone keymap
* ergodone compiles
* clean up
* clean up
* removed obsolete OS_HOME/END
* removed var
* added ctrl nav to split75
* ergodone clean up + caps lock fix 75
* fix mac ctrl alt on right handside. added mac alt tab left right
* fix ergodone config override
* fixed alt left right not working on mac
* added OS ctr_alt
* mac ctrl del. fix tild
* simplified tild macro
* git stash apply
* send_string_remembering_lenght
* shifted strings print
* restored KC_BSPACE functionality
* moved KC_BSPC
* numpad layer on Fn
* media lights
* ergodone final clean up
* ergodone GIT AND MEDIA layers
* ergodone GIT LAYER switch
* default behaviour for all modified keys on BASE layer
* refactored logic for default keycodes
* ergodone final layers
* ctrl_cav for translation and ctrl_l fix
* toggleable layer with numpad
* comments
* numpad layer
* Update users/art/config.h
Co-authored-by: Joel Challis <git@zvecr.com>
* enable dynamic macros for split75
* git branch and develop/master
* removed esc from Nav
* ergodone: ctrl alt for shift layer
* macros and right alt for ergodone
* fix ergodone N_backspace not working on git layers
* mac language switch with alt+shift
* Update users/art/art.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/art/art.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/art/art.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ergodone/keymaps/art/keymap.c
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update users/art/art.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* flashing leds to indicate current os
* using rshift on shifted layers
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Add Via support to the YMD09
* Update keyboards/ymdk/ymd09/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/ymdk/ymd09/keymaps/via/rules.mk
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
* Candybar: VIA support for lefty and righty
* Update keyboards/candybar/lefty/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/candybar/righty/config.h
Co-authored-by: Ryan <fauxpark@gmail.com>
* Update keyboards/candybar/lefty/keymaps/via/keymap.c
Co-authored-by: Joel Challis <git@zvecr.com>
Co-authored-by: Ryan <fauxpark@gmail.com>
Co-authored-by: Joel Challis <git@zvecr.com>
* Add Via keymap for Contra
* Added Via-enabled keymap
* Changed VENDOR_ID from 0xFEED to 0x4354 (CT)
* Removed unnecessary RGB mappings
* PR changes
* Removed empty via/config.h
* Changed product ID from 0x6060 to 0x0001
* Add files needed to The Via support on Melody 96
* Remove manufacture name from product name
* replace blank key with Transparent keys
* Update keyboards/melody96/rules.mk
* Update keyboards/melody96/keymaps/via/keymap.c
* Change Product ID to "M" + 96
* Update keyboards/melody96/keymaps/via/rules.mk
* add LTO to via's local file
* Update keyboards/melody96/rules.mk
* more stoof
* readme update
* reverting keymap
* re-adding userspace
* new userspace needed
* no want 0 under thumb
* gettin fancier with my knob
* macro fix
* had pins for oled ver
* wait, these are the right pins
* reduntant line
* image fix
* get highest layer every day
* whoops
* correct rev name in json
* a few good catches
* what I had planned
* Replace custom RCTRL implementation with built-in LM
Caveat: sends LCtrl instead of RCtrl
* Enable VIA support in KBD6X keymap
* Disable LTO on ChibiOS boards
* Disable locking support and Magic keycodes for all keymaps
* Organize and annotate rules.mk and config.h files
* Enable Console for Melody96 keymap
* L_RANGE_KEYMAP → LAYERS_KEYMAP
* Revert "Replace custom RCTRL implementation with built-in LM"
This reverts commit 17d706a82d7e31b53cd84efeb9b2ddb9922a2368.
* Set DYNAMIC_KEYMAP_LAYER_COUNT to 3 in Doro67 and Wasdat keymaps
* Enable Bootmagic Lite for all VIA keymaps