summaryrefslogtreecommitdiff
path: root/users
AgeCommit message (Collapse)Author
2019-10-16[Keymap] Corne keyap with tap dance Swedish support (#6857)hvp
* Adding profile for Corne with tap dance Swedish support. * Remove extern keymap_config_t keymap_config as no longer needed * Changed to use tap_code over register_code * Removed persistent_default_layer_set * Moved macros to hvp user space ink tap dance code * Removed not used functions * Moved to an ifbased include statement * Removed not needed characters
2019-10-09[Keymap] Adding garyjzhao's Iris keymap (#6980)Gary Zhao
* Added Gary's user files * Added Gary's Iris Keymap files * Added Gary's Iris Keymap files * updated readme * removed comments * Cleaned up code even more
2019-10-07[Keymap] Overly greedy community keymap build userspace (#6969)Yan-Fa Li
- this fixes breakage in instant60 pcb sorry @upas
2019-10-07[Keymap] Community layout for hhkb (#6961)Yan-Fa Li
2019-10-07[Keymap] updating ninjonas userspace (#6903)Jonas Avellana
* [refactor] updating ninjonas layout blocks and standardized LOWER & ADJUST * [feat] added new macro M_TERM to open MacOS terminal app * [feat] introducing mod-tap functionality on keymap * [fix] fixing oled turning on when it feels like it. thanks @drashna for helping * [feat] updating OLED to rotate logo 180 degrees * [feat] updating keymaps to reflect VSCode frequent habits * [refactor] converting crkbd modifier keys to layer blocks * [fix(#6903)] converting _delay_ms to wait_ms on launching terminal macro
2019-10-05[Keymap] Initial personal keymap for Lily58 (#6908)Jonathan Rascher
* Initial Lily58 keymap * Still not sure if these thumb key placements are optimal or not. I might want to move space (enter) one key to the left (right), respectively. * Also unsure how I feel about Esc on a mod tap key with Ctrl... might move it back to its own key and relocate the = key. * Missing bindings for Print Screen, Scroll Lock, Pause/Break. * Make Lily58 layout support operation without numrow * Move some Lily58 modifiers around * Move nav keys to more consistent locations * Rebinding shift on Raise is stupid * Don't stomp Ctrl on the Lower layer * Tweak bottom row a little bit
2019-10-05[Keymap] finally committing my updates (#6904)Matthew Lyon
2019-10-03Update personal userspace and keymaps (#6876)Konstantin Đorđević
* Align bottom row in KBD6X keymap to match LAYOUT macro * Remove TAP_HOLD_CAPS_DELAY override in userspace * Change default USB polling rate to 1000 Hz * Move media controls to nav cluster on Wasdat * Add dz60:konstantin_b keymap
2019-09-30[Keymap] Updating crkbd RGB keymap implementation & ninjonas userspace ↵Jonas Avellana
updates (#6834) * [keymap] Updating crkbd RGB implementation & ninjonas userspace updates * [chore] adding process_record_oled method to process_records.h
2019-09-26[Keymap] Use 75_ansi and community layout for xd84 (#6821)Yan-Fa Li
* Use 75_ansi and community layout for xd84 - work around flash issues by disabling most of the animations * Remove rules.mk
2019-09-25[Keymap] Port personal keymap to 60_tsangan_hhkb (#6820)Yan-Fa Li
* Port personal keymap to 60_tsangan_hhkb - add 60_tsangan_hhkb layout to plain60 - Fix bug in split rs in plain60 - use community and user based layout for 60_tsangan_hhkb - set up audio for plain60 only * Add LAYOUT_60_ansi_split_bs_rshift
2019-09-25[Keymap] ninjonas keymap for crkbd & ninjonas userspace updates (#6797)Jonas Avellana
* [keymap(crkbd)] introducing crkbd keymap on ninjonas profile * [keymap(crkbd)] introducing crkbd keymap on ninjonas profile * [refactor(crkbd)] reducing file size by selecting RGB animations * [refactor(crkbd)] added shiftit key * [refactor(crkbd)] added shiftit key * [chore(crkbd)] adding SLEEP_LED_ENABLE on rules.mk * [refactor(crkbd)] added keylog & removed static rainbow RGB * [feat(crkbd)] introduced em-dash '—' keymap * [feat(crkbd)] added screenshot functionality * [refactor(lily58,pinky3)] moving media keys * [refactor(lily58)] Added emdash key * [chore] removing NUMBERS & FUNCTIONS layers as they're useless * [chore] removing NUMBERS & FUNCTIONS layers as they're useless * [chore(crkbd,lily48)] Updating README.md * [feat] added K_LAPP & K_RAPP to mimic command + tab * [feat] added K_LAPP & K_RAPP to mimic command + tab * [fix(#6797)] resolving changes requested by @drashna * [fix(#6797)] first cut on using QMK OLED Driver * [fix(#6797)] cleaning up rules.mk * [fix(#6797)] making scrolling logo work * [fix(#6797)] Using OLED Driver for Lily58 * [fix(#6797)] Moved OLED driver implementation to ninjonas userspace * [fix(#6797)] Bringing back crkbd & lily58 logos * [fix(#6797)] Turning off OLED based off @drashna's workaround in #5982 * [fix(#6797)] whoops! forgot to checkin crkbd/config.h * [fix(#6797)] fixing issue with OLED randomly turning on * [fix(#6797)] using default glcdfont.c for lily58 & crkbd * [fix(#6797)] Using LINK_TIME_OPTIMIZATION_ENABLE rather than EXTRAFLAGS as per code review * [fix(#6797)] updating M_MALL macro as per code review by @fauxpark
2019-09-25[Keymap] Various enhancements for dshields user space and keymaps. (#6816)Daniel Shields
- Add oneshot mod/layer unlocking - Fix Planck rev 3 backlight breathing - Fix Planck rev 6 build with arm gcc 9.2.0 - General code clean up
2019-09-21[Keymap] Move common code and configuration to userspace for dshields ↵Daniel Shields
keymaps. (#6537)
2019-09-17[Keymap][Xulkal] User code update (#6752)XScorpion2
* Updating rgb menu behavior * Fixing toggle keycode to work how I want it * Enabling auto scroll timeout
2019-09-07[Keymap] Assorted personal keymap/userspace updates (#6691)Jonathan Rascher
* Turn off more unnecessary features by default * Double TAP_CODE_DELAY due to more media key issues Even with this change, some of the rotary encoder turns on my BDN9's volume knob still seem to get dropped. It's possible there's something wrong with the encoder itself. (Maybe the TAP_CODE_DELAY actually causes QMK to miss an encoder turn? Unclear.) The other knob (backlight brightness) works fine, FWIW.... * Restructure userspace config.h a bit * Hack around Instant60 Via EEPROM conflict Remove this when #6589 is fixed for Via boards. * Add backlight breathing and (EEPROM) reset to BDN9 * Add keymap for 9-Key macropad
2019-09-07[Keymap] Big Drashna code update (#6639)Drashna Jaelre
* Add a quefrency keymap * New Alt-ernate layouts * Enable Per Key Tapping Term to preserve sanity * Use underglow and mod lights for status on Corne * Update the drashna_ms keymap for quefrency * Disable Audio since there isn't enough space * Update KC_MAKE to ues :flash target * Cleanup ergodox layout * Enable i2c support for Iris * Add keymap support for CG_SWAP * Enable RGB Matrix Shutdown mode * enable heatmap * Update gitlab CI to install python3 * Remove game macros These are no longer needed, and haven't been used in ages * Cleanup planck layout * Add RGB Matrix fun and RGB cleanup * Add keycode and config for RGB Matrix idle animations * Clean up rgb idle animation code * Add rgb idle keycode to keymaps * Fix issues with rgb matrix idle animation * Fix some handling for idle animation * Reduce idle animation timeout to 15s to be more reasonable * fix up rgb stuff * Fix isses with rgb functions not being called for matrix * Use custom EEPROM Magic Number so testing is easier * Extend Default Layer macro to support a lot more layers * Fix bjohnson macropad * Adjust KC_MAKE to process mods for more consistent behavior * Fix up rgb stuff on corne * Corne OLED Overhaul * Fixes a number of issues with weirdness. * Fixes issues with keylogger (should be more reliable now) * Modulaize the OLED render sections * Rewrite layer display code * Update URL for Font Editor Due to odd issues, I ended up rewriting from scratch. And using PROGMEM versions, since I think I was getting memory overflows. * Update polling rate on all keebs * Fix planck ez layout config * Remove macros from Viterbi
2019-09-07[Keymap] Add narze userspace (#6652)Manassarn Manoonchai
* Refactor & reimplement mod tap macros * Reduce tapping term * Update readme * Add narze userspace * Make use of narze userspace * Extract Superduper mode * Refactor Superduper mode * (Ergodox Infinity) Prevent stuck modifiers * Update ergodox_infinity/narze likewise * Add warning for building Infinity with docker * Fix include eeprom.h in superduper * Try enabling superduper mode with combo for ergodox infinity * Apply suggestions on #4546 * Convert to 4 spaces * Map backlight step key * Replace PLAY_NOTE_ARRAY * Fix superduper toggle * Re enable audio in planck rev4 * Use perform_space_cadet * Remove superduper mod tap triggers * Add readme for planck light firmware flashing command * Remove unused layers * Remove unused keycodes * Add backlight toggle * Remove unused songs & use DEFAULT_LAYER_SONGS * Update readme * Move includes to header file
2019-09-05Add personal Doro67 multi keymap, fix bug in KBD6X keymap (#6674)Konstantin Đorđević
* Add missing void parameter declarations to *_light functions * Add doro67/multi:konstantin keymap * Allow FNLK to be canceled with Esc * Function layer → Fn layer in keymap comments
2019-09-03[Keymap] Update personal userspace and keymaps (#6654)Konstantin Đorđević
* Enable Fn layer tap dances only if LAYER_FN is defined * Update KBD6X keymap spacing to match LAYOUT spacing * Add regular FNLK to userspace, update keymap comment labels * Rename KC_BRK → BREAK, KC_SYSR → SYSRQ in userspace * Change mousekey positions in KBD6X * Disable Console in KBD6X to reduce firmware size * Return false in process_record_* only when overriding existing keys * Fix Caps light not working after LSFT_FN * Refactor Fn/Caps light, fix sequencing issues
2019-09-02[keymap] ninjonas userspace and keymaps for hotdox, lily58, & pinky3 (#6649)Jonas Avellana
* [keyboard] introducing ninjonas userspace & keymaps for hotdox, lily58, and pinky3 * [fix(#6649)] removed M_EPRM and used builtin EEP_RST keycode as-per review. * [chore(#6649)] forgot to update keymap legend on lily58
2019-08-31[Keymap] Add leaf60 and tada68 keymaps (#6645)Jarred Steenvoorden
* Add leaf60 and tada68 keymaps * Cleanup files for pull request * Cleanup tada68 keymap
2019-08-25Added OLED Display autoscroll during periods of OLED data inactivity (#6546)XScorpion2
* Added OLED Display autoscroll during periods of OLED data inactivity. * Fixing compile errors * Feedback from review
2019-08-24[Keymap] Update to userspace kuchosauroand0 (#6596)kuchosauronad0
* added combos * minor adjustments, added combos * Add second encoder, add modifiers to encoders Added a skeleton for the possibily having a second encoder. Added 9 modifiers for the first rotary encoder: - None General navigation. Page up/down - SHIFT Fast navigation. Home/end - CTRL Vertical navigation. Up/down - CTRL+SHIFT Horizontal navigation. Left/right - ALT Audio volume control. - GUI Browser navigation(windows). Forward/backward - ALT+SHIFT Form navigation. Tab up/down - ALT+CTRL Media control. (Play|pause)/mute - HYPER Media navigation. Next/prev track Key codes are stored in `uint16_t encoder_actions[2][9]` * Add second encoder, add modifiers to encoders Added a skeleton for the possibily having a second encoder. Added 9 modifiers for the first rotary encoder: - None General navigation. Page up/down - SHIFT Fast navigation. Home/end - CTRL Vertical navigation. Up/down - CTRL+SHIFT Horizontal navigation. Left/right - ALT Audio volume control. - GUI Browser navigation(windows). Forward/backward - ALT+SHIFT Form navigation. Tab up/down - ALT+CTRL Media control. (Play|pause)/mute - HYPER Media navigation. Next/prev track Key codes are stored in `uint16_t encoder_actions[2][9]` * Clean up; added combos Combos: - CV: Copy - XC: Cut - ZV: Paste - QP: KC_SLEEP * Fix LEADER_DICTIONARY to be more useful * Add documentation * Minor fixes * Raise TAPPING_TERM * testing * Rearrange modifiers * Fix kc being stored in uint8 instead of uint16 * Update documentation * Clean up * Remove excess comments * Put encoder_actions in progmem
2019-08-17Userspace kuchosauronad0 (#6541)kuchosauronad0
* initial commit * Update layout. Tweak rules.mk * initial userspace configuration for kuchosauronad0 * modified userspace for kuchosauronad0 * added OSL_UNI * clean up * clean up * style * style * added more unicode * fixed representation * fixed representation * added comments * added comments, restructure * accidently one line * restructure * restructure * added git_lazy(void) * fixed indenting and added missing symbols * fixed indent * fixed indent * update * change tapping_term to 150 * added UNICODEMAP_ENABLE block * replace register with tap_code where possible * formatting * rearrange sequences * clean up * clean up * added unicode layer * disabled tap dance * add files for encoder * removed unnecessary include * removed unnecessary stuff
2019-08-16[Keymap] add "ridingqwerty" user and keymap for atreus keyboard (#6533)ridingqwerty
* add userspace and atreus keymap * cleaning up notes/comments * Update keyboards/atreus/keymaps/ridingqwerty/atreus.c Co-Authored-By: Joel Challis <git@zvecr.com> * Update keyboards/atreus/keymaps/ridingqwerty/atreus.c Co-Authored-By: Joel Challis <git@zvecr.com> * Create readme.md * remove reference to matrix_init_kb from atreus.c * correct atreus.c * remove unnecessary defines * merge register/unregister sequence into single tapcode * move 'LAYOUT to keymap.c; remove atreus.h * remove TAPPING_TERM from keyboard-level config.h
2019-08-14[Keymap] Fix include following Wilba refactor (#6538)Joe Wasson
2019-08-13[Keymap] Adding my userspace and keymaps (#6496)Seth Barberee
* add Userspace and keymaps * Adding keymaps for zeal60 and iris * Created my own tap dance that toggles RGB Mode based on whether I toggled caps lock or not * parent 578ed42a7f8f986147cad040d50d4ae1d24a32e2 author Seth Barberee <seth.barberee@gmail.com> 1565065903 -0500 committer Seth Barberee <seth.barberee@gmail.com> 1565065903 -0500 move to userspace add zeal60 * update based on review * move userspace to github name
2019-07-25[User] Update personal userspace and keymaps, add reactive underglow (#6410)Konstantin Đorđević
* Update MODERN_DOLCH_RED color * Remove unused RAL_LAL tap dance * Disable Space Cadet on all boards * Rework SEND_STRING_CLEAN into CLEAN_MODS, fix DST_P_R/DST_N_A * Disable unnecessary underglow animations * Rearrange feature flags in rules.mk files * Change custom colors from structs to defines * Add some explicit initializers * Add MODERN_DOLCH_CYAN color * Add IS_LAYER_ON_STATE()/IS_LAYER_OFF_STATE() macros * Add led_set_keymap() template function * Change underglow color based on Caps/Fn state * Preserve val when changing underglow colors * Only trigger Fn light for Fn layer * Refactor fn_light() and caps_light() slightly * Add comments to fn_light() and caps_light()
2019-07-25[User] Xulkal Keymaps Update (#6392)XScorpion2
* Xulkal changes Refactor rgb & encoder menu Hadron Keymap Refactor oled menu * Fixing horizontal OLED data display * Reverting changes to take to separate prs
2019-07-23[Keymap] Jarred's Plaid keymap (#6049)Jarred Steenvoorden
* Add my plaid keymap * Move planck / plaid keymaps to common layout folder
2019-07-22[Keymap] Drashna's Feature madness (#6128)Drashna Jaelre
* Fix my Tap Dance issues after I broke them * Cleanup and organization of userspace documentation As well as some additional cleanup of functions due to review of documentation. * Enable Tapdance on Glow and remove more animations * Revert to Eager PR debouncing * Add better check for startup animation * Move where RGB Matrix defines are listed * Limit RGB Matrix max val * Update keyboard for Iris Rev 3 conflicts * Enable encoder support on planck ez * Remove is_master check from corne\'s OLED code * Overhaul OLED screens for my Corne * One last removal * Show RGB valu On both sides * Updates for OLED display info * Fix compile issues for rgb config * Disabled Space Cadet for all drashna keymaps * Fix OLED Screen configs * Minor OLED Tweaks * Revert some Iris changes * Fix song include * Handle MAKE macro for the Corne boards better * Add super hacky-hack for eeconfig initialization * Add audio support for Fractal since Elite Cs support it * Add defines for keycode steps * Add White layout * Update Corne RGB info * Add fun effects to layer indication for RGB Matrix enabled boards * Use proper define for product name detection * Update formatting * Use custom timeout mechanism for OLED timeout * Fix up OLED screen HSV code for new HSV structure * Better handle turning off RGB Matrix when sleeping * Disable MultiSplash Animation * Change Iris back to using serial * Why was RGB disabled?!?!?! * Limit val in rgb_matrix_layer_helper function * Remove EECONFIG setting for RGB matrix
2019-07-22Sol Rev 2 Keyboard (#6389)XScorpion2
* Basic Rev 2 implementation * Updated LED defines and added Extra encoder support * Fixed rgb pin assignment * Physically accurate LED positions * Single Color Band scrolling left to right effects * Spirals, Pinwheels, and Documentation....Oh My! * Spiral effect band thickness adjustments * Fixing animation spin directions * Full hand LED positions * Basic Rev 2 implementation Updated LED defines and added Extra encoder support Fixed rgb pin assignment Physically accurate LED positions Full hand LED positions Moving rev2 folder * RGB Center Point LED position update * Fixing led config commas * Fixing led config commas * fix enter key * fix enter * Small changes to default * update default * typo fix * update default * Fixing defines & led config, turned full hand & extra encoders into rules.mk feature * Refactored rules.mk to have a post_rules.mk * Forgot to offset the matrix to led map due to the edge led additions * Updated LED flags and fixed my keymap * Update keymap.c include speed controls for RGB * Fixing more rules.mk and adding keymap like encoders functionality * Sol Rev 2 Implementation * Minor fixes * Keymap fixes * Fix Colemak, add lock keys
2019-07-16Adding rgb matrix speed into eeprom storage. (#5965)XScorpion2
Zeroing out spd in eeconfig_init_quantum Switched to block read & update Update tmk_core/common/eeconfig.h Co-Authored-By: Drashna Jaelre <drashna@live.com> Fixing init compile error Update eeconfig.c Dead / Missing API cleanup alignment
2019-07-12Switching rgb_config_t to use HSV structRyan Caltabiano
2019-07-12[Keymap] Add missing tap dance action and fix RGB hues in personal keymaps ↵Konstantin Đorđević
(#6312) * Add missing TD_RSF_RCT tap dance * Use standard QMK HSV and RGB structs, fix Godspeed colors * Move PROGMEM after the type in RGB intervals * Add MODERN_DOLCH_RED color, use it on KBD6X * Use 255 instead of RGBLIGHT_LIMIT_VAL in color definitions * Remove IS_COMMAND override on Whitefox
2019-07-09[Keymap] Add personal Wasdat keymap, update other keymaps (#6290)Konstantin Đorđević
* Add wasdat:konstantin keymap TODO: Move it to layouts/ * Use HHKB arrow arrangement for mouse keys on KBD6X * Move KC_APP from Ctrl to M on all boards * Use RCT_RSF on Melody96 * Set TAP_HOLD_CAPS_DELAY to 50 in userspace * Use RSF_RCT instead of RCT_RSF
2019-07-08mattly's userspace and iris (#6279)Matthew Lyon
2019-06-26[Keymap] miryoku layout (#6171)Manna Harbour
* First release * add "#pragma once" to config.h and related docs * generate config.h with change from miryoku.org
2019-06-20Add ergodash layout, update the backlight numbers for the rgb backlight to ↵Fredric Silberberg
be the actual intended colors.
2019-06-16[Keymap] Update to personal keymaps (#6136)SpacebarRacecar
* changes to keymaps * changes to userspace * changes to userspace * removed reference to fc660c keymap which no longer exists from userspace readme * removed preonic keymap
2019-06-16[Keymap] Minor userspace and Quefrency keymap fixes (#6134)Jonathan Rascher
* Fix typo for RGBLIGHT config values It doesn't make a difference right now since these are the defaults in rgblight.h (which I'm just setting explicitly since some of the keyboard configs change these defaults). However, I'd rather be explicit, so fixing my typo. :) * Remove mouse keys layer from Quefrency keymap It's a fun idea, but I never use it in practice.
2019-06-07[Keymap] Set a short TAP_CODE_DELAY so media keys work (#6097)Jonathan Rascher
A delay of 10ms seems sufficient. Otherwise, media keys tapped from the encoder of my BDN9 macropad only seem to get picked up by the OS (Windows 10) some of the time.
2019-06-06[Keymap] update @nstickney's keymaps (#6076)Stick
* [Keymap] iris@nstickney: improve RGB init Perfecting the rgb backlight initialization with a delay for each color; also start and stop the animation at the "default layer" color. * [Keymap] iris,ergodox@nstickney fix FN on SYMB The function key was not operational on the SYMB and SYSH layers due to other keycodes being mapped over MO() on those layers. The offending keycodes have been moved to other keys. * [Keymap] add @nstickney's userspace Pulled common code out to a userspace directory for my iris and ergodox keymaps. * [Keymap] iris@nstickney add image to README Added an image from keyboard-layout-editor.com to meet the README standard. * iris@nstickney hue values now `uint8_t` (#6050)
2019-06-05[Keymap] Xulkal changes (#6075)XScorpion2
2019-06-01[Keymap] Xulkal user changes (#6044)XScorpion2
* Xulkal user changes Xulkal user changes * Reduce code duplication * Massive user code refactor
2019-05-29Update 333fred keymaps and add new iris map. (#6010)Fred Silberberg
* Update 333fred keymaps and add new iris map. * Fix iris key
2019-05-22[Keymap] changes to my userspace and preonic keymap ( spring 2019 ) (#5881)Jarrett Drouillard
* feat-user-kuatsure: abstract symbol row out * feat-user-kuatsure: abstract grouped bracket, brace, paren out * fix-preonic-kuatsure: remove eol as requested by @drashna * feat-user-kuatsure: add KC_MAKE and KC_FLSH thanks to @drashna for the help * chore-preonic-kuatsure: remove auto shift * chore-user-kuatsure: move leader seq's to macro syntax * feat-user-kuatsure: add `KC_VRSN` key plus use it preonic keymap * chore-user-kuatsure: namespace keyboard macros `KB` * chore-preonic-kuatsure: move some keyboardy keys around * chore-preonic-kuatsure: remove parens, brackets, braces from lower * chore-user-kuatsure: move tmux window shifts to dbl press leaders * feat-user-kuatsure: add a computer lock leader seq * fix-preonic-kuatsure: go back to lower brackets * chore-preonic-kuatsure: clear out raise * feat-various-kuatsure: add meh + tab mod tap * chore-preonic-kuatsure: `raise` eats `game_mod` layer * fix-preonic-kuatsure: reverse pg up and pg down * chore-user-kuatsure: add double tap to turn off music * chore-user-kuatsure: move like seqs together * chore-preonic-kuatsure: add a few more items to the num pad on raise * feat-user-kuatsure: re-enable td for <> keys * chore-user-kuatsure: give a little more grace period for leader * fix-user-kuatsure: give lock leader a gui buffer no timer or anything, but alfred doesn't boot up as quickly as I would like sometimes gui doesn't do anything but gives a little bit of a time bump * fix-user-kuatsure: changes from @drashna review
2019-05-22[Keymap] Switch Quefrency keymap from I2C back to serial; factor common ↵Jonathan Rascher
configs into userspace (#5951) * Switch Quefrency from flaky I2C back to serial * Lower mouse wheel speed on Quefrency slightly * Migrate common settings to userspace * Enable Bootmagic Lite for consistent reset to bootloader. * Turn off some undesired features across all keyboards. * Remove EEPROM reset keybinding from all keyboards since Bootmagic Lite also does an EEPROM reset. * Set backlight and underglow increments consistently across all keyboards since lots of them like to override the deafults. * Set mouse keys consistently across all keyboards. * Update function layer keymap images
2019-05-21[Keymap] Romac added and tweaks to existing keymaps (#5941)stanrc85
* Initial keymap for Romac * Formatting changes * keymap tweaks * Add new cycle layer key * add cycle layer code * initial upload * keymap updates * keymap updates * keymap updates for new layer names * new enum layers * case added for 4th layer * removed extra space for formatting