123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323 |
- /*
- Copyright 2018 Eric Gebhart <e.a.gebhart@gmail.com>
- This program is free software: you can redistribute it and/or modify
- it under the terms of the GNU General Public License as published by
- the Free Software Foundation, either version 2 of the License, or
- (at your option) any later version.
- This program is distributed in the hope that it will be useful,
- but WITHOUT ANY WARRANTY; without even the implied warranty of
- MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
- GNU General Public License for more details.
- You should have received a copy of the GNU General Public License
- along with this program. If not, see <http://www.gnu.org/licenses/>.
- */
- #ifndef USERSPACE_CONFIG_H
- #define USERSPACE_CONFIG_H
- // pro-micro v3's don't always detect otherwise.
- /* #define SPLIT_USB_DETECT */
- #define NO_ACTION_MACRO
- #define NO_ACTION_FUNCTION
- // Sets good default for the speed of the mouse.
- #undef MOUSEKEY_INTERVAL
- #undef MOUSEKEY_DELAY
- #undef MOUSEKEY_TIME_TO_MAX
- #undef MOUSEKEY_MAX_SPEED
- #define MOUSEKEY_INTERVAL 20
- #define MOUSEKEY_DELAY 100
- #define MOUSEKEY_TIME_TO_MAX 60
- #define MOUSEKEY_MAX_SPEED 7
- #undef MOUSEKEY_WHEEL_MAX_SPEED
- #undef MOUSEKEY_WHEEL_TIME_TO_MAX
- #undef MOUSEKEY_WHEEL_DELAY
- #define MOUSEKEY_WHEEL_MAX_SPEED 5
- #define MOUSEKEY_WHEEL_TIME_TO_MAX 60
- #define MOUSEKEY_WHEEL_DELAY 100
- #undef TAPPING_TOGGLE
- #undef TAPPING_TERM
- #undef IGNORE_MOD_TAP_INTERRUPT
- #define TAPPING_TOGGLE 2
- #define TAPPING_TERM 200
- #define IGNORE_MOD_TAP_INTERRUPT
- #define TAP_HOLD_TERM 200
- #define COMBO_MUST_HOLD_MODS
- #define COMBO_HOLD_TERM 150
- #define TAP_CODE_DELAY 5 // for send string with delay
- // change the behavior of Mod taps for HRMs.
- // #define GLOBAL_QUICK_TAP
- /* Control switches for my keymaps. */
- /* if needed, this goes in the keyboard's config.h */
- /* Alternately, fix the number row in the layout template. */
- /* #define BASE_NUMBER_ROW // turn on 4 row base templates. */
- // Extensions, turn them on and off.
- #define USERSPACE_H "ericgebhart.h"
- // Layout definitions, which language, thumb cluster, mod layer.
- // Columns in and out.
- // the default. set it, use it, set it back.
- // US_INT // EN, BEPO, US_INT
- #define LANG_IS US_INT
- #define DEFAULT_LANG US_INT
- #define DEFAULT_LANG_NAME " us"
- // Enable a second locale, for another set of layers.
- // This will add bepo versions of all layers chosen.
- /* #define SECOND_LOCALE BEPO */
- /* #define SECOND_LOCALE_NAME " bepo" */
- // Choose a mod layer. Can be changed per layer.
- // TRNS, ALT, HRS_NAV HRM_GACS, HRM_SCAG, HRM_GASC, MIRYOKU_HRM_GASC
- #define MODS_ARE HRS_NAV
- #define DEFAULT_MODS MODS_ARE
- // Choose a thumb cluster.
- // WI, WIa, DEFAULT, TEST, TRNS, MODS, LAYERS, MODS_LAYERS,
- // MIRYOKU, MIRYOKU_TR, MODS_LAYERS_NAV,
- // The following use THUMB_LETTER to place a letter on the Thumbs.
- // for use with the hands down metals, maltron, and rsthd.
- // HD, HDA, HD_SIMPLE, TH_LTR, HD_DASH,
- // MIRYOKU_TR_LTR, MIRYOKU_LTR
- #define THUMBS_ARE DEFAULT
- #define DEFAULT_THUMBS DEFAULT
- // pick the edge key set. normie, no kc, smart locks or test.
- // NORM, NOKC, SML, TEST
- #define EDGE_KEY_SET_IS SML
- #define DEFAULT_EDGE_SET SML
- // for the base layers which need a thumb cluster which takes a letter.
- #define HANDS_DOWN_LTR_THUMBS_ARE TH_LTR
- #define MALTRON_LTR_THUMBS_ARE TH_LTR
- #define RSTHD_LTR_THUMBS_ARE TH_LTR
- // layout io, matrix size.
- // a reasonable default for most keyboards.
- // give a 3x10 and get a 3x12, managed in keyboards/keyboards.h
- #define BASE_COLS_IN_OUT 5_6 // 5, 5_6, 6
- // OLED STUFF.
- #define OLED_CUSTOM_ENABLE // custom oled here.
- //#define OLED_LOGO_ENABLE // turn on/off the logo.
- #define KEYLOGGER_ENABLE // 1500 bytes, track and print keypress info to oled.
- //#define SPLIT_LAYER_STATE_ENABLE // to sync state between sides.
- // EXTENSIONS
- // Combos
- #define COMBO_REF_LAYER_ENABLE
- // #define COMBO_REF_LAYER_TWO_ENABLE
- // works if you know the number of your layer.
- // otherwise set and use them later.
- // #define COMBO_ONLY_FROM_LAYER 2
- // #define COMBO_REF_DEFAULT 2
- // Console key logging for creation of heatmaps, etc.
- // CONSOLE must be enabled for this to work.
- // To create Precondition's heat maps, from console key logging
- // with hid_listen or qmk console
- //#define CONSOLE_KEY_LOGGER_ENABLE // turn on keylogging for heat maps.
- #define ALT_LOCAL_ENABLE // alternate key combinations, with mods as needed.
- #define ACCENTED_KEYS_ENABLE // direct access to altgr keys.
- #define SMART_LOCK_ENABLE // smart lock layers and mods.
- //#define MOD_LOCK_ENABLE // smart lock mods, similar/overlapping with Smart lock.
- #define NSHOT_ENABLE // smart n-shot for count.
- //#define ONESHOT_MOD_ENABLE // oneshot mods, similar/overlapping with nshots
- #define TAP_HOLD_ENABLE // tap for one thing, hold for tapping term to get another.
- //#define SWAPPER_ENABLE // enable swapper keys.
- #define NOT_DEAD_ENABLE // make undead versions (US_DQUO_ND) of dead keys.
- //#define ALT_SHIFT_ENABLE // alternate shift behaviors for existing keys.
- //#define SEND_STRING_ENABLE // Turn on send string keys
- //#define SEND_UNICODE_ENABLE // Unicode must be enabled for this to work.
- // Turn on the base layers do not exceed 4 if doing two locales.
- // That will likely push a layer past 15 and then it will
- // no longer work with the LT macro.
- // dvorak and relatives
- #define DVORAK_LAYER_ENABLE
- //#define DVORAK_RLC_IU_LAYER_ENABLE
- //#define CAPEWELL_DVORAK_LAYER_ENABLE
- //#define AHEI_LAYER_ENABLE
- //#define BOO_LAYER_ENABLE
- // qwerty and derivitives
- //#define QWERTY_LAYER_ENABLE
- //#define AZERTY_LAYER_ENABLE
- //#define WORKMAN_LAYER_ENABLE
- //#define NORMAN_LAYER_ENABLE
- // COLEMAK and relatives
- //#define COLEMAK_LAYER_ENABLE
- //#define COLEMAK_DH_LAYER_ENABLE
- //#define HALMAK_LAYER_ENABLE
- //#define MINIMAK_LAYER_ENABLE
- //#define MINIMAK_8_LAYER_ENABLE
- //#define MINIMAK_12_LAYER_ENABLE
- // BEAKL
- // #define BEAKL15_LAYER_ENABLE
- //#define BEAKL19_LAYER_ENABLE
- //#define BEAKL27_LAYER_ENABLE
- //#define BEAKLWI_LAYER_ENABLE
- // carpalx layouts
- //#define CARPALX_QFMLWY_LAYER_ENABLE
- //#define CARPALX_QGMLWB_LAYER_ENABLE
- //#define CARPALX_QGMLWY_LAYER_ENABLE
- // alternate layouts
- //#define MALTRON_LAYER_ENABLE
- //#define EUCALYN_LAYER_ENABLE
- //#define HANDS_UP_LAYER_ENABLE
- //#define RSTHD_LAYER_ENABLE
- //#define HANDS_UP_LAYER_ENABLE
- //#define WHITE_LAYER_ENABLE
- //#define ISRT_LAYER_ENABLE
- //#define SOUL_LAYER_ENABLE
- //#define NIRO_LAYER_ENABLE
- //#define ASSET_LAYER_ENABLE
- //#define WHORF_LAYER_ENABLE
- //#define WHORF6_LAYER_ENABLE
- // mtgap and relatives
- //#define MTGAP_LAYER_ENABLE
- //#define CTGAP_LAYER_ENABLE
- //#define APT_LAYER_ENABLE
- //#define CANARY_LAYER_ENABLE
- // Hands down
- #define HD_NEU_NARROW_LAYER_ENABLE
- //#define HD_REF_LAYER_ENABLE
- //#define HD_DASH_LAYER_ENABLE
- //#define HD_ELAN_LAYER_ENABLE
- //#define HD_BRONZE_LAYER_ENABLE
- //#define HD_SILVER_LAYER_ENABLE
- //#define HD_PLATINUM_LAYER_ENABLE
- //#define HD_GOLD_LAYER_ENABLE
- //#define HD_TITANIUM_LAYER_ENABLE
- // A compact optimot for 3x10.
- // requires accent characters.
- //#define OPTIMOT_COMPACT_LAYER_ENABLE
- // 3x12 sized base layers
- //--------------------------
- //#define HD_NEU_LAYER_ENABLE
- // Optimized for french
- // All these have accent characters on base layer.
- // so these dont work for En, but do for US-international and Bepo.
- //#define BEPO_LAYER_ENABLE
- //#define OPTIMOT_LAYER_ENABLE
- //#define BEAKL19bis_LAYER_ENABLE
- // enable transient function layers.
- #define SYMBOL_LAYER_ENABLE
- #define NAV_LAYER_ENABLE
- // #define MOUSE_LAYER_ENABLE
- #define TOPROWS_LAYER_ENABLE
- // #define LAYERS_LAYER_ENABLE - defunct. always on.
- #define KEYPAD_LAYER_ENABLE
- //#define ADJUST_LAYER_ENABLE
- //#define RGB_LAYER_ENABLE
- //#define MEDIA_LAYER_ENABLE
- //#define FUNC_LAYER_ENABLE
- // define alternate thumb definitions for the transient layers.
- #define MEDIA_LAYER_THUMBS MEDIA_THUMBS
- #define MOUSE_LAYER_THUMBS MOUSE_THUMBS
- #define NAV_LAYER_THUMBS TRNS_THUMBS
- #define KEYPAD_LAYER_THUMBS KEYPAD_THUMBS
- #define SYMB_LAYER_THUMBS SYMB_THUMBS
- #define TOPROWS_LAYER_THUMBS DEFAULT
- // Extra character layers.
- // Bepo has dead keys (altgr) and accented keycodes
- // A layer of accented keys
- // #define ACCENTS_LAYER_ENABLE
- // A layer of dead keys
- // #define MORTE_LAYER_ENABLE
- // A layer of the most popular accented keys and dead keys
- #define ACCENTS_MORTE_LAYER_ENABLE
- // Functional layer choices.
- /* configure the function layers. */
- /* They have to be turned on above. */
- /* Choose one of each as desired. */
- /* There are reasonable defaults */
- /* for each if nothing is defined. */
- /* nav */
- //#define NAV_FULL // monolithic, two sided nav with mouse and arrows.
- #define NAV_FULL_LOCK_MODS // Replace left mouse buttons with lockmods.
- // Just the non mouse bits, with lock mods, n-shot mods on the left.
- // if mousekeys enabled, adds a mouse layer accessible via smart lock.
- // #define NAV_NO_MOUSE
- // #define NAV_MIRYOKU
- // #define NAV_MOUSE_MIRYOKU
- /* keypads */
- // beakl keypads are usual, if not chosen, regular keypads will be used.
- // left side is the default.
- // Beakl, except for WI, is only on the left side.
- // Miryoku is on the left also.
- //#define KEYPAD_RIGHT
- #define KEYPAD_BEAKL // beakl doesn't have a rightside, swap hands?
- //#define KEYPAD_MODS // give mods on the other side instead of funcs.
- //#define KEYPAD_BEAKL_WI // right side with hexpad on left.
- //#define KEYPAD_MIRYOKU // use the miryoku keypad
- // the default if nothing chosen,
- // is a functionpad on the left and normal keypad on the right.
- // funcpad from miryoku
- // #define FUNCPAD_MIRYOKU
- /* symbols */
- // pick one of these or get the default.
- //#define SYMBOL_BEAKL // original - the default if nothing else.
- //#define SYMBOL_BEAKL_EXT // extended for non beakl base layers.
- //#define SYMBOL_BEAKL_EXT_VI // extended with vi keybinding in mind.
- #define SYMBOL_BEAKL_C // more alterations by frequency
- // #define SYMBOL_NEO // The symbol layer from the Neo layout.
- // #define SYMBOL_MIRYOKU // minimalist symbols after miryoku
- //#define SYMBOL_BEAKL_WI // original wi
- /* toprows. */
- // The default, if not defined, is a standard qwerty set of rows.
- // symbols, numbers, function keys. Numbers on the home row.
- // #define TOPROWS_BKL_15_NUMS // center row with Beakl15 order. 40123 76598.
- // #define TOPROWS_BKL_19_NUMS // Beakl 19 order: 32104 76598
- #define TOPROWS_MOD // beakl 15 nums, oneshot and smart lock mods. no Fkeys.
- #endif
|