summaryrefslogtreecommitdiff
path: root/keyboards
AgeCommit message (Collapse)Author
2020-08-18[Keyboard] Add support for keyboard 'Bolt' (#10046)jackytrabbit
* Add support for keyboard 'Bolt' Add support for keyboard 'Bolt' * Update info.json * Update info.json * Update keyboards/lazydesigners/bolt/config.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/lazydesigners/bolt/rules.mk Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/lazydesigners/bolt/readme.md Co-authored-by: Joel Challis <git@zvecr.com> * Update info.json * Update keyboards/lazydesigners/bolt/info.json Co-authored-by: Ryan <fauxpark@gmail.com> * Update keyboards/lazydesigners/bolt/bolt.h Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/info.json Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> * Update keyboards/lazydesigners/bolt/keymaps/default/keymap.c Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.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>
2020-08-18[Keymap] update kejadlen keymaps (#9954)Alpha Chen
Standardizing my keymaps under my username, rather than a keymap name.
2020-08-18Changes to thevankeyboards/minivan:king keymap (#10032)kingwangwong
* Changes to minivan layout
2020-08-18Refactor Adelais PCB (#10069)mechlovin
Enable RGBLIGHT for standard pcb rev2&3 * Update rules.mk * Update rules.mk
2020-08-18[Keyboard] NK87 (#9965)yiancar
* Initial commit * Fix1 * Final Prettify * Update keyboards/nk87/config.h * Update keyboards/nk87/keymaps/default/keymap.c * Update keyboards/nk87/keymaps/via/keymap.c * Update keyboards/nk87/rules.mk * Remove unnecessary junk * Update keyboards/nk87/readme.md * Update keyboards/nk87/readme.md * Update keyboards/nk87/readme.md * Update keyboards/nk87/keymaps/default/readme.md * Update keyboards/nk87/keymaps/via/readme.md
2020-08-19Update keymap for Keebio/iris4/rev4 (#10062)Yoonbae Cho
2020-08-19Dawn60 update that breaks travis keyboard builds (#10082)Xelus22
2020-08-18add VIA keymap for boardsource/3x4 (#10043)Adam Gwilliam
* via keymap for boardsource/3x4 * fix formatting * Apply suggestions from code review fix rules.mk * Update keyboards/boardsource/3x4/rules.mk * use unique product ID * update vendor id to be unique, update product id to make more sense
2020-08-18[Keyboard] generic_panda/panda65_01 (#10006)JesseLeung97
* First commit * Added ChibiOS files * renamed files to remove capital letters * Fixed layout references * fixed image reference * Fixing errors * Fixed config.h * changed second up to fn key * renamed files and added beginning of via compatibility * renamed keyboard * removed vscode files * fixing files for via compatibility * adding via files * working via compatibility * Update readme.md * Update readme.md * First commit * Added ChibiOS files * renamed files to remove capital letters * Fixed layout references * fixed image reference * Fixing errors * Fixed config.h * changed second up to fn key * renamed files and added beginning of via compatibility * renamed keyboard * removed vscode files * fixing files for via compatibility * adding via files * working via compatibility * added license header to via file * preparing for pull request * Fixed firmware according to pull request feedback * fixed readme according to pull request feedback * Updated readme and removed unnecessary layers in default/keymap.c * removed whitespace * updated keymap readme to match suggestion
2020-08-18[Keyboard] zErgo handwired (#9990)Evgenii
* Create readme.md * Add files via upload * Update readme.md * Create info.json * Update info.json * Update and rename kb.c to zergo.c * Rename kb.h to zergo.h * Add files via upload * Update keymap.c * Update config.h * Update zergo.c * Update zergo.h * Update rules.mk * Update keymap.c * Rename Makefile to makefile * Update zergo.c * Update zergo.h * Update keymap.c * Update config.h * Update config.h * Update zergo.h * Update rules.mk * Update rules.mk * Update config.h * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/zergo.h * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/keymap.c * Update keyboards/handwired/zergo/rules.mk * Update keyboards/handwired/zergo/keymap.c * Update readme.md * Update readme.md * Update keyboards/handwired/zergo/readme.md * Update readme.md * Update keyboards/handwired/zergo/config.h * Update keyboards/handwired/zergo/config.h * Update keyboards/handwired/zergo/info.json * Update readme.md * Update keyboards/handwired/zergo/readme.md * Update keyboards/handwired/zergo/readme.md * Delete makefile
2020-08-18[Keyboard] Bento handwired macro pad (#9973)Blake
* [Keyboard] Add ghostseven/bento * Correct attribution, Dwin17 * Formatting change * Markdown formating * Update keyboards/ghostseven/bento/info.json * Update keyboards/ghostseven/bento/readme.md * Update keyboards/ghostseven/bento/rev1/config.h * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/rev1/config.h * Update keyboards/ghostseven/bento/rev1/rev1.c * Update keyboards/ghostseven/bento/rev1/rev1.c * Update keyboards/ghostseven/bento/rev1/config.h * Update keyboards/ghostseven/bento/rev1/rules.mk * Update keyboards/ghostseven/bento/readme.md * Delete config.h * Delete config.h * Update rules.mk * Rename keyboards/ghostseven/bento/readme.md to keyboards/handwired/bento/readme.md * Rename keyboards/ghostseven/bento/rules.mk to keyboards/handwired/bento/rules.mk * Rename keyboards/ghostseven/bento/info.json to keyboards/handwired/bento/info.json * Rename keyboards/ghostseven/bento/bento.h to keyboards/handwired/bento/bento.h * Rename keyboards/ghostseven/bento/bento.c to keyboards/handwired/bento/bento.c * Rename keyboards/ghostseven/bento/rev1/rules.mk to keyboards/handwired/bento/rev1/rules.mk * Rename keyboards/ghostseven/bento/rev1/rev1.h to keyboards/handwired/bento/rev1/rev1.h * Rename keyboards/ghostseven/bento/rev1/rev1.c to keyboards/handwired/bento/rev1/rev1.c * Rename keyboards/ghostseven/bento/rev1/config.h to keyboards/handwired/bento/rev1/config.h * Rename keyboards/ghostseven/bento/keymaps/default/keymap.c to keyboards/handwired/bento/keymaps/default/keymap.c * Update bento.h * Change make location to handwired dir. * added alt keymap submited by cbc02009 * Added mac dev keymap * Licence updates
2020-08-18Super16 VIA support (#10076)Nick Blyumberg
* Added via support for Super16
2020-08-18[Keyboard] Boardsource Microdox (#9971)cole smith
* microdox keyboard workidng * updated readme * cleaned up for pr * Apply suggestions from code review * Apply suggestions from code review * added license headers * Update keyboards/boardsource/microdox/keymaps/default/keymap.c * Update keyboards/boardsource/microdox/rules.mk * Update keyboards/boardsource/microdox/rules.mk * Update keyboards/boardsource/microdox/rules.mk
2020-08-18function96 keyboard added (#10024)JuanTapMan
Co-authored-by: James Young <18669334+noroadsleft@users.noreply.github.com> Co-authored-by: Ryan <fauxpark@gmail.com>
2020-08-18[Keyboard] HHKB Lite 2 (#9188)Yu-Xi Lim
* Initial commit for HHKB Lite 2 * Rearrange keymap * Clean up config * Fix pin assignments * Code and filename cleanup * Add README * Apply suggestions from code review Code cleanup * Update keyboards/hhkb_lite_2/README.md Documentation cleanup * Change Vendor ID to unused * One more LAYOUT * Via keymap for HHKB Lite 2 * Remove redundant keymap.c * Add README for Via keymap * Fix vendorId for Via keymap * Apply suggestions from code review Cleanup based on review feedback * Clean up via keymap makefile rules * Switch to C keymap instead of JSON for Via layout * Move bootmagic key config to main Moved to main keyboard config to be shared by all keymaps. * Address PR feedback * Reformat config comments * Format rules.mk comments * Rename README -> readme * Use `make` instead of `qmk` in examples
2020-08-17[Keyboard] Pistachio (#10003)rate
* Add keyboard Pistachio * Update keyboards/pistachio/keymaps/default/keymap.c * Update keyboards/pistachio/keymaps/default/keymap.c * Update keyboards/pistachio/config.h * Fix Build error. * Apply suggestions from code review
2020-08-17[Keyboard] Added RAMA WORKS M65-B, M65-BX, M10-C, M50-A (#9991)Wilba
* Added RAMA WORKS M65-B, M65-BX, M10-C, M50-A * Review changes * Review changes * Review changes * Increase layers to 10 for M10-C, M10-B
2020-08-17[Keyboard] Update bm40hsrgb with RGB Matrix support (#10044)Richard Goulter
* bm40rgb: copy from kbfirmware.com * bm40rgb: align default keymap * bm40rgb: rename kb.c/h to bm40rgb.c/h * bm40rgb: adjust with changes from the noroadsleft converter * bm40rgb: adjust keyboard to support plant_mit and ortho_4x12 layouts * bm40rgb: Add keyboard readme.md * bm40rgb: add RGB Matrix support * bm40rgb: remove bm40hsrgb layout * Apply suggestions from PR - Fix alignment in keyboards/bm40rgb/bm40rgb.c - Remove redundant DESCRIPTION in keyboards/bm40rgb/config.h - Tidy keyboards/bm40rgb/readme.md - Tidy MANUFACTURER, PRODUCT in keyboards/bm40rgb/config.h - Tidy rules.mk keyboards/bm40rgb/rules.mk - Use PRODUCT_ID computed from SHASUM of keyboard name in keyboards/bm40rgb/config.h - Define LAYOUT_all in keyboards/bm40rgb/bm40rgb.h * Update keyboards/bm40rgb/info.json * Tidy comment * Apply suggestions from code review * Apply suggestions from code review * Revert "bm40rgb: remove bm40hsrgb layout" This reverts commit 1f69a03551321bf8cf736150f1f651127c90585a. * Move the rgbmatrix change over to bm40hsrgb * Wrap g_led_config declaration with
2020-08-17[Keyboard] BM60 RGB ISO (#9975)markva
* Add BM60 RGB ISO Keyboard * fixed link to picture * Update keyboards/bm60rgb_iso/bm60rgb_iso.c * Update keyboards/bm60rgb_iso/config.h * Update keyboards/bm60rgb_iso/config.h * Update keyboards/bm60rgb_iso/info.json * Update keyboards/bm60rgb_iso/info.json * Update keyboards/bm60rgb_iso/rules.mk * Delete vscode file * Update my new username * Disable console and commands * Apply suggestions from code review
2020-08-17[Keyboard] AEBoards Constellation (#9972)Xelus22
* open drain * ext65 initial * clean up messy code * clean up init * update docs stm32 only and applies to all 3 driver * fix USE_GPIOIv1 * place documentation at bottom * constellation initial * cleanup * fix ws2812.c * Clean up rules.mk * Update config.h * Update config.h * Update readme.md * Update rules.mk * Update rules.mk * add license header
2020-08-17[Keymap] yoonbae81 keymap for JJ50 (#10052)Yoonbae Cho
* Create keymap for jj50 * Update rules.mk * Update rules.mk * Update * Update keymap.c
2020-08-17latinpad ADD BOOTMAGIC_ENABLE = lite (#10056)HASU
* Update rules.mk * Update config.h * Update keyboards/latinpad/config.h
2020-08-17[Keyboard] Maartenwut GH80-1800 (#9981)Maarten Dekkers
* Add GH80-1800 * Update readme.md
2020-08-17[Keymap] Add via keymap for singa (#10050)kaylanm
2020-08-17Redox: sync RGB on left and right sides (#10022)dp
2020-08-17[Keymap] Removing #4072 workaround! (#9995)Callum Oakley
* move media keys in to move layer; rearragne f keys; use send_string for rev5 compatability * remove send_string workaround for #4072
2020-08-17[Keyboard] wilba.tech WT65-XT and WT65-XTX (#9999)Wilba
* Added wilba.tech WT65-XT, WT65-XTX * Review changes * Review changes
2020-08-17Keymap Updates for DMQ Design SPIN, Boardsource 4x12, and Gingham (#9911)codecoffeecode
* Updating keymaps for Gingham and DMQ Design SPIN and adding keymap for BoardSource 4x12 * Update keyboards/boardsource/4x12/keymaps/codecoffeecode/keymap.c
2020-08-16[Keyboard] Maartenwut GH80-3700 (#9960)Maarten Dekkers
* Add GH80-3700 * Add via keymap * Update gh80_3700.h * Update config.h * LAYOUT_all -> LAYOUT_ortho_6x4 * Update readme.md
2020-08-16update mikefightsbears keymap for Lily58 (#9988)Mike Rix Wolfe
2020-08-16[Keyboard] Southpaw75 (#9844)kelvinhall05
* adding southpaw75 * Added readme.md for Southpaw75 * adding info.json * Update keyboards/southpaw75/rules.mk * Update keyboards/southpaw75/southpaw75.h * Update keyboards/southpaw75/keymaps/default/keymap.c * Update keyboards/southpaw75/config.h * Update keyboards/southpaw75/southpaw75.h * Update keyboards/southpaw75/keymaps/default/keymap.c * Update keyboards/southpaw75/rules.mk * Update keyboards/southpaw75/rules.mk * Update keyboards/southpaw75/config.h * Update keyboards/southpaw75/readme.md * Update keyboards/southpaw75/readme.md * Update config.h * Update keymap.c * Update readme.md * Update southpaw75.c * Update southpaw75.h
2020-08-16[Keyboard] Kinesis + Pro Micro (#9944)Viet Yen Nguyen
* [Keyboard] Kinesis + Pro Micro init - docs for DIY - custom matrix = lite - a near-factory dvorak mapping - optimized debouncing for lower latency * chore: reformatting * chore: update doc * chore: cleanups according to PR feedback * chore: PR feedback * fix: compile error * chore: add include * fix: LEDs hanging after USB disconnect * chore: enable QMK goodies by default * chore: use semantic write pin
2020-08-16[Keyboard] Wabi handwire (#9704)Rossman360
* cleaning up * got some working bones * working pretty well * really livin' now * all done * copyright adjustments * default keymap * readme * no descrip * remove trailing slashes * remove blank line * remove trailing slashes * clean up readme * clean up rules spacing * bootloader spacing * made quick json from KLE converter * remove postageboard mini references * add actual manu and product values * add make example * rework * remove double bootload define * smoller image * liscensed * correct dimensions * dimensions
2020-08-17Fix sendstring call in onekey ADC keymap (#10031)Ryan
2020-08-16Add numpad llayout to ai03/soyuz & personal keymap (#10030)Sendy YK
* ai03 Soyuz ## Description @ai03-2725 Soyuz: 1. Update `soyuz.h` (Add `LAYOUT_5x4`) 2. Added `keymap.c` 3. Added `readme.md` * Update readme.md * Update readme.md * Update keymap.c * Update keymap.c * Update keymap.c * Update keymap.c * Update soyuz.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/ai03/soyuz/soyuz.h Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/ai03/soyuz/keymaps/mrsendyyk/keymap.c Co-authored-by: Joel Challis <git@zvecr.com> * Update keyboards/ai03/soyuz/keymaps/mrsendyyk/keymap.c Co-authored-by: Joel Challis <git@zvecr.com> * Update rules.mk * Update keymap.c * Update keymap.c * Update keymap.c * Update readme.md * Update rules.mk * Update soyuz.h * Update soyuz.h * Update * Rename readme.md to README.md * Update keymap.c * Rename README.md to readme.md Co-authored-by: Joel Challis <git@zvecr.com>
2020-08-15[keymap] Fixed an issue that long pressed alt key does not work on PSN_FN ↵shela
layer. (#10039)
2020-08-15[Keyboard] Fix Planck/Rev6 compiler issue (#9953)Drashna Jaelre
Specifically, don't want to have both RGBLight and RGB Matrix (with WS2812) enabled at the same time. This will cause issues in usage, but apparently not when compiling. Additionally, the led matrix was not encapsulated with preprocessor code.
2020-08-14Add indicator LEDs for GHS.RAR (#10028)Ramon Imbao
* Add indicator LEDs for GHS.RAR * Update keyboards/ghs/rar/rar.c Co-authored-by: Joel Challis <git@zvecr.com> Co-authored-by: Joel Challis <git@zvecr.com>
2020-08-13Fixing squiggle's `layout`s in the config.qmk.fm (#10019)Ibnu Daru Aji
* the `layout`s in `info.json` should actually reflects the `layout`s macros in the `rev1/rev1.h`. * fixed complicated's thumb keys.
2020-08-12[Keymap] DZ60RGB - Add personal keymap (#9989)Dimiter Geelen
* DZ60RGB V1 - Add personal configuration (cherry picked from commit 313ce586e998f5604ed1b559bbe90de381f0b782) * [Keymap] Didel - Add license headers * [Keymap] Didel - Reformat Keymap * [Keymap] Didel - Add named layers
2020-08-12[Keyboard] AEboards Ext65 rev2 (#9482)Xelus22
* ext65rev2 initial * open drain change and config * pwm * pwm streams * spi * ws2812 spi * oled * enable sleep * keymap and dissable oled * readd oleds * nooled * led_update_kb revised * update and remove board specific files and add to ext65rev2.c * Update OLED usb status * Update keyboards led state * Layer state set kb * Return state * Update keyboards led state * Update OLED usb status * merge master and merge rev folders * add readme * move board_init to only if OLED is enabled * update readme * update rules.mk * Remove OLED from rules.mk * Update config.h * show AEBoards * Update keyboards/aeboards/ext65/rev2/rules.mk
2020-08-13fix handwired/swiftrax/cowfish PID and VID (#9922)Brandon Claveria
Co-authored-by: Swiftrax <swiftrax@gmail.com>
2020-08-13Add jian/keymaps/via/config.h (#9948)KgOfHedgehogs
2020-08-12Add Kiibohd bootloader type to bootloader.mk (#9908)Ryan
2020-08-09[Keyboard] Add Flatbread60, Vaneela, and VaneelaEx by nckiibs (#9817)Woongki Sung
* creOnic added * made requested changed by a moderator * device name changed * fixed flatbread60 files * add vaneela and vaneelaEX support * Update keyboards/nckiibs/vaneelaex/rules.mk * vaneela rgb disabled * include error fxied * vaneelaex Via keymap fixed * vaneelaex keymap fixed * all fixed except clang part * vaneelaex config.h error fixed, clang fixed * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c done * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * Update keyboards/nckiibs/flatbread60/rules.mk done * line endings were fixed as requested * Apply suggestions from code review Thank you! * requests applied and rebased * pics changed * flatbread via fixed * Apply suggestions from code review Thanks! * Apply suggestions from code review Done! * Apply suggestions from code review except VIA keymaps Questions regarding VIA keymaps are pending * Update keyboards/nckiibs/flatbread60/keymaps/default/keymap.c * flatbread via keymap changed * Apply suggestions from code review
2020-08-09Cannonkeys via keymap fixes (#9977)Andrew Kannan
2020-08-08[Keyboard] Dumbo (#9656)TripTrap
* added dumbo keyboard * added my personal keymap * changed picture in readme * removed rev1 folder to reduce clutter and confusion * missed a few changes in last commit, everything should be added now * Apply suggestions from code review Committed all of the suggested changes except for removing the bootloader reference comments in rules.mk as i think it is handy. * Update keyboards/dumbo/rules.mk Removed the bootloader reference as suggested * Apply clean up of info.json * Apply suggestions from noroadsleft to support community layout LAYOUT_SPLIT_3x6_4 in the future_4
2020-08-08[Keyboard] Add Quackfire controller (#9958)Maarten Dekkers
* Add Quackfire controller * Comply with PR checklist * Update VIA keymap * Update keyboards/maartenwut/quackfire/readme.md
2020-08-07[Keyboard] Add "Selene" to the handwired section (#9920)David Camp
* Added handwired/selene based on handwired/106_with_trackpoint * now at least parially working * Selene Firmware 1, ready * Updated Readme to align more with Template * Added URL to info.json * Fix status Lights being wired incorrectly * Update keyboards/handwired/selene/config.h * Update keyboards/handwired/selene/keymaps/Bpendragon/keymap.c * Update keyboards/handwired/selene/selene.c * Update keyboards/handwired/selene/selene.h * Changes for PR requested by fauxpark * Adds `default` keymap * Renames `Bpendragon` to `bpendragon` * Removes uneeded descriptors and options * Simplifies return statement in `keymap.c` * Removes trailing slashes from layout in `keymap.c` * Updates `readme.mk` to reflect default keymap * Aligns comments in `rules.mk` * Forced folder name update to lowercase * Apply suggestions from code review
2020-08-07[keyboard] Add chavdai40 keyboard (#9820)t-miyajima
* On branch add_chavdai40_keyboard Changes to be committed: new file: keyboards/chavdai40/boards/GENERIC_STM32_F042X6/board.c new file: keyboards/chavdai40/boards/GENERIC_STM32_F042X6/board.h new file: keyboards/chavdai40/boards/GENERIC_STM32_F042X6/board.mk new file: keyboards/chavdai40/bootloader_defs.h new file: keyboards/chavdai40/chavdai40.c new file: keyboards/chavdai40/chavdai40.h new file: keyboards/chavdai40/chconf.h new file: keyboards/chavdai40/config.h new file: keyboards/chavdai40/halconf.h new file: keyboards/chavdai40/info.json new file: keyboards/chavdai40/keymaps/42keys-dvorak/config.h new file: keyboards/chavdai40/keymaps/42keys-dvorak/keymap.c new file: keyboards/chavdai40/keymaps/42keys-eucalyn/config.h new file: keyboards/chavdai40/keymaps/42keys-eucalyn/keymap.c new file: keyboards/chavdai40/keymaps/42keys-qwerty/config.h new file: keyboards/chavdai40/keymaps/42keys-qwerty/keymap.c new file: keyboards/chavdai40/keymaps/44keys-dvorak/config.h new file: keyboards/chavdai40/keymaps/44keys-dvorak/keymap.c new file: keyboards/chavdai40/keymaps/44keys-eucalyn/config.h new file: keyboards/chavdai40/keymaps/44keys-eucalyn/keymap.c new file: keyboards/chavdai40/keymaps/44keys-qwerty/config.h new file: keyboards/chavdai40/keymaps/44keys-qwerty/keymap.c new file: keyboards/chavdai40/keymaps/default/config.h new file: keyboards/chavdai40/keymaps/default/keymap.c new file: keyboards/chavdai40/mcuconf.h new file: keyboards/chavdai40/readme.md new file: keyboards/chavdai40/rules.mk * commit suggestions of zvecr and fauxpark, thanks * commit suggestions of fauxpark, thanks * commit suggestions of fauxpark, thanks * commit suggestions of drashna, thanks