Compare commits

..

1034 Commits

Author SHA1 Message Date
de833659ae Merge pull request #1429 from fredizzimo/fixes_for_emulator
Minor fixes to support the emulator
2017-06-25 10:29:00 -04:00
1e6a3f9e17 Change M_2_PI to 2 * PI as it should be 2017-06-25 12:55:18 +03:00
62c77e7dbf Remove the DIODE_DIRECTION defines from lets_split so we can close #1067 2017-06-24 17:08:43 -07:00
582a6ac75c Fix #1135 by changing the default to at90usb1286 2017-06-24 15:28:13 -07:00
901a92a2fd Update _summary.md 2017-06-24 13:11:25 -04:00
f175f5df95 Merge pull request #1425 from kynikos/patch-1
Fix typo
2017-06-24 11:39:15 -04:00
6c81656e8e Merge pull request #1426 from rai-suta/master
Add JIS_KEYCODE layout for send_string()
2017-06-24 11:38:38 -04:00
5dae013ff8 Add JIS_KEYCODE layout for send_string() 2017-06-24 18:29:37 +09:00
30ab4dd14f Fix typo 2017-06-24 16:32:10 +08:00
c208a6d4e5 update docs for isp 2017-06-23 23:09:14 -04:00
b9987d65f9 Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-06-23 23:07:01 -04:00
2c65a17752 add other mcu bootloaders 2017-06-23 23:05:42 -04:00
dfa6417ae3 Merge pull request #1422 from nstickney/master
update ErgoDox "Familiar" layout
2017-06-23 21:48:17 -04:00
918aea5b47 Update _summary.md 2017-06-23 21:29:35 -04:00
b4f2f44a6f Create isp_flashing_guide.md 2017-06-23 21:29:04 -04:00
1524c2cb16 Merge pull request #1418 from npoirey/master
Frenchdev v1
2017-06-23 18:05:33 -04:00
8ad12b1eb7 Updated frenchdev readme 2017-06-23 23:59:30 +02:00
dcf9fa1aaa Update the ugfx submodule 2017-06-24 00:37:27 +03:00
f912c74fe7 Change inline to static inline 2017-06-24 00:34:16 +03:00
574ca7f59c Delete emulator drivers 2017-06-24 00:34:16 +03:00
da19852964 Add function for getting the LCD backlight brightness 2017-06-24 00:34:16 +03:00
ff49259a1a Include config.h from visualizer.h 2017-06-24 00:34:16 +03:00
b0094e631e Change remote url of uGFX to relative path 2017-06-24 00:34:16 +03:00
6c9b4743f7 Include config.h before visualizer.h 2017-06-24 00:33:23 +03:00
e43e58aad1 updated README.md 2017-06-23 16:28:06 -05:00
f4e4d6f8d0 Merge remote-tracking branch 'upstream/master' 2017-06-23 16:02:44 -05:00
37987837b1 added media keys; many bug fixes 2017-06-23 16:02:01 -05:00
a3f151b8e9 Refactoring frenchdev 2017-06-23 21:35:33 +02:00
de80e2c756 Moved frenchdev to handwired 2017-06-23 21:25:46 +02:00
a1ce43781a Merge pull request #1421 from 333fred/update-layout
Update my layout
2017-06-23 14:43:51 -04:00
91f3a73a28 Merge pull request #1419 from Wraul/phantom-improvements
Phantom improvements
2017-06-23 14:43:32 -04:00
6794495336 Doc updates 2017-06-23 11:36:14 -07:00
2b26abf9a9 Copy/paste additions. 2017-06-23 11:24:55 -07:00
946f4854c5 Added backlight control keys 2017-06-23 11:07:28 -07:00
a2fbd671ad Added a few more VS macros and another ctrl 2017-06-23 11:07:28 -07:00
7389beb18c Small keymap layout updates 2017-06-23 11:07:28 -07:00
dd9b00543b Update Phantom readme
Added basic description of the keyboard and some build and configuration
instructions.

Also moved the RGB underlight modification instructions to the readme.
2017-06-23 12:07:18 +02:00
7ca335cf5b Adjust Phantom for standard PCB
The previous default configuration and keymap was made for a Phantom
modified with RGB underlight.

This commit makes the default more in line with the "official"
configurations provided by the PCB.

The previous default have been moved to a separate keymap named
`rgbmod`. It has also been updated to better match the template keymap.
2017-06-23 12:07:18 +02:00
3522496f24 Update Phantom config to better match template 2017-06-23 12:07:18 +02:00
67b8bf8f70 Move Phantom LED handling to phantom.c
This is more in line with the structure provided by the keyboard
template.
2017-06-23 12:07:18 +02:00
98373f2fc1 added tapdance locking 2017-06-22 22:22:43 -05:00
a012c24225 Removed image from git and added references to imgur album for Frenchdev keyboard. 2017-06-22 22:19:50 +02:00
fa96d64f37 Merge remote-tracking branch 'upstream/master' 2017-06-22 13:06:30 -05:00
2b98ec67f3 Update _summary.md 2017-06-22 13:23:08 -04:00
7b3c9cc8de Create adding_a_keyboard_to_qmk.md 2017-06-22 13:22:21 -04:00
f32c68ee65 Update porting_your_keyboard_to_qmk.md 2017-06-22 13:21:43 -04:00
c21c2cc92b Merge pull request #1416 from geofflane/feature/s65_x_std_grv_esc
Use the new Quantum KC_GESC instead of custom code
2017-06-22 12:38:45 -04:00
fe9556104b Merge pull request #1331 from ariasuni/master
Fix undefined reference errors with avr-gcc 7.1
2017-06-22 08:40:59 -04:00
0fb835c54c Fix warning in frenchdev 2017-06-22 10:47:44 +02:00
23b0fc20e3 Frenchdev v1 2017-06-22 10:34:23 +02:00
9d22a1a6d8 add group edge via travis updates 2017-06-21 11:23:33 -04:00
8705ac408d Use the new Quantum KC_GESC instead of custom code 2017-06-21 09:37:20 -04:00
23df3016e8 Merge pull request #1405 from cquiroz/oneshot-mods-timeout
Oneshot mods timeout
2017-06-20 11:40:10 -04:00
9019d65b3c Merge pull request #1414 from dvdizon/kbd75
KBD75 - Initial KBD75 port from qmkeyboard.cn source files
2017-06-20 09:19:48 -04:00
2c171b3e5f Merge pull request #1413 from lasko/master
This is a complete redo of my keymap. It includes several
2017-06-20 09:18:02 -04:00
33a271b8e3 Merge pull request #1412 from nall/master
Fixed offset for knight rgb mode
2017-06-20 09:17:36 -04:00
e71b3c6572 KBD75 - Initial KBD75 port from qmkeyboard.cn source files 2017-06-19 22:59:17 -07:00
f169c715eb Added custom keymap and enabled Space Cadet 2017-06-19 22:44:42 -07:00
2ffcf47793 This is a complete redo of my keymap. It includes several
layers including qwerty, colemak, navigation, and gui layers.

I also was playing around with dancing tap keys.
2017-06-19 20:12:30 -07:00
7ce056cad7 Fixed offset for knight rgb mode 2017-06-19 19:51:37 -07:00
3e7bb19612 Merge pull request #1410 from belak/tv44-core
tv44: Add core layout based on the Core 47
2017-06-19 14:05:02 -04:00
e951317acb Merge pull request #1409 from fredizzimo/full_unit_test
Take first baby steps towards testing the whole QMK
2017-06-19 14:04:19 -04:00
f71c990215 tv44: Add core layout based on the Core 47 2017-06-18 22:44:52 -07:00
1aa0be4cf1 Fix serial_link vpath problem 2017-06-19 00:46:53 +03:00
0f163c0028 Add todo to timer.c 2017-06-19 00:24:32 +03:00
fb9b8dadb9 Add a couple of todos to keyboard_report_util.cpp
Also print the modifier state
2017-06-19 00:22:12 +03:00
43d8fa5bf1 More natural interface for setting keyboard leds 2017-06-19 00:19:09 +03:00
36f820be7e Add a test fixture
It only initializes QMK once, and clears the matrix after each test.
2017-06-18 23:49:38 +03:00
e85b185796 Test two keys pressed at once 2017-06-18 21:22:22 +03:00
6a76192fa4 Fix problems with undefined inlines in debug mode 2017-06-18 21:22:22 +03:00
bd1729d5be Actually test for correct key presses 2017-06-18 21:22:22 +03:00
fb95d86b39 Move functions for adding keys from to reports to report.h 2017-06-18 21:22:22 +03:00
017458a07b Move functionality from action_util to report
The functions also takes report_kebyoard_t parameters, so that they can
be used elsewhere.
2017-06-18 21:22:22 +03:00
c38589d861 Fix the order of init and driver creation 2017-06-18 21:22:22 +03:00
3bb0586acc Add a couple of basic tests and implement driver mock 2017-06-18 21:22:22 +03:00
617578399c Add keymap 2017-06-18 21:22:22 +03:00
c588fca06c Empty bootloader_jump 2017-06-18 21:22:22 +03:00
a72e8f0865 Dummy test matrix implementation 2017-06-18 21:22:22 +03:00
1c0fe956ac Split common.mk into common.mk and common_features.mk
To support including keyboard/keymap specific rules before it
2017-06-18 21:22:22 +03:00
d29906cb64 Emulate eeprom 2017-06-18 21:10:42 +03:00
f646f00b93 Rename native to test 2017-06-18 21:10:42 +03:00
83509adc3a Add empty timer functions 2017-06-18 21:10:42 +03:00
26eb97a4a8 Empty implementation of bootloader, suspend and timer 2017-06-18 21:10:42 +03:00
fdfd48e8c8 Fix program mem functionality 2017-06-18 21:10:42 +03:00
efaf0e830b Empty implementation of wait 2017-06-18 21:10:42 +03:00
585d646128 Define MATRIX_COLS and MATRIX_ROWS 2017-06-18 21:10:42 +03:00
8674f9c466 Make sure config.h is included 2017-06-18 21:10:42 +03:00
7424261dae Try to build tmk_common 2017-06-18 21:10:42 +03:00
30f22d450d Add basic infrastrucure for building full tests 2017-06-18 21:08:23 +03:00
621ae42a6c revert edit 2017-06-18 13:28:34 -04:00
4217cb5bbc Update key_functions.md 2017-06-18 13:26:20 -04:00
517f75d893 Merge pull request #1349 from jpetermans/infinity60
Infinity60 backlight support
2017-06-18 12:38:38 -04:00
dd73e14c9b Merge pull request #1407 from take-a-CHANCE/master
Adding a planck keymap
2017-06-18 12:35:08 -04:00
66e2d6a063 Merge pull request #1406 from jprMesh/atreus52
Atreus52
2017-06-18 12:34:33 -04:00
f2e1609801 remove hardware files, move arrow pad 2017-06-18 12:33:14 -04:00
74d752b531 Remove noisy debug line 2017-06-18 12:17:51 -04:00
3ab0f4d9e5 Deactivate oneshot mods once timedout 2017-06-18 12:17:51 -04:00
5682254f71 Merge pull request #1408 from fredizzimo/fix_build_improve_travis
Fix the two failing keymaps and improve the travis build script
2017-06-18 12:13:56 -04:00
45d437ca04 Make only modified keymaps 2017-06-18 18:30:59 +03:00
51a86b85f3 Merge pull request #1361 from fredizzimo/ergodox_infinity_backlight
Add Ergodox Infinity backlight support
2017-06-18 10:15:02 -04:00
2fd670bec0 Add missing include to Ergodox Belak keymap 2017-06-18 17:07:20 +03:00
6ba22b5f5e Don't define RGBLED_NUM in let-split khord keymap
It's already defined correctly by the parent keyboard project, and was
causing problems for rev1, where the pin is different.
2017-06-18 17:03:07 +03:00
a15510b57b Always build everything on master 2017-06-18 17:03:05 +03:00
5acc0e54aa Make all subprojects when a keymap is modified 2017-06-18 16:44:51 +03:00
1a8042ae91 Added personal keymap with underglow, right shift, numpad, and bright hidden behind raise/lower 2017-06-17 23:11:37 -04:00
a284245f77 Atreus52- moved parens and braces to left hand. 2017-06-17 22:51:50 -04:00
85d688e92c Atreus52- made dvorak layer default. 2017-06-17 21:21:46 -04:00
4c2f04986a Atreus52- added software reset key. 2017-06-17 21:21:38 -04:00
3007d01718 Atreus52- Modified BDO map. 2017-06-17 21:21:30 -04:00
3b9fabb9aa Atreus52- BDO keymap. 2017-06-17 21:21:21 -04:00
a8992a2cfe Atreus52- Added Nav layer keymap. 2017-06-17 21:20:16 -04:00
7837d96b6e Atreus52- Reworked keymap to be more 40% like. 2017-06-17 21:20:09 -04:00
56026dd4df Atreus52- Swapped thumb keys. 2017-06-17 21:19:59 -04:00
1552fd6ae1 Atreus52- Last changes to config to get it workin. 2017-06-17 21:19:48 -04:00
133908da74 Atreus52- Some keymap changes. 2017-06-17 21:19:45 -04:00
3c2c489768 Atreus52- Fixed spacing and changed to KC_KEYMAP macro. 2017-06-17 21:19:36 -04:00
b236e51b69 Atreus52- finished initial keymap layout. 2017-06-17 21:19:29 -04:00
17e81baab3 Atreus52- Fixed config. 2017-06-17 21:19:18 -04:00
f9eb11a674 Atreus52- Fixed Qwerty Dvorak switch 2017-06-17 21:18:58 -04:00
bb99d7117c Atreus52- Changed to KEYMAP macro format. 2017-06-17 21:18:40 -04:00
a5ba30338f Atreus52- Initial Atreus52 file creation. 2017-06-17 21:18:04 -04:00
7feadbd66d Merge pull request #1401 from geofflane/s65_x_fixes3
S65-X Fixes Part 3
2017-06-17 20:14:49 -04:00
206233d98c Merge pull request #1402 from belak/tv44-belak-tap-magic
tv44: Rearrange belak keymap and add some tap dance magic
2017-06-17 20:14:23 -04:00
82372d36af Merge pull request #1403 from Wraul/kmac-fixes
KMAC fixes
2017-06-17 20:14:05 -04:00
df26ede131 Unify KMAC code indentation
It's a little unclear what the style guidelines are for the QMK project.
But I figured that I should at least keep the indentation consistent
within the KMAC part.
2017-06-17 20:06:28 +02:00
67e150a08a Enable backlight support by default for KMAC 2017-06-17 20:06:28 +02:00
ba945c5e77 Correct layer switching in KMAC keymap readmes 2017-06-17 20:06:28 +02:00
be002137f9 Fix some KMAC code formating 2017-06-17 20:06:28 +02:00
a621c7f88b Don't include the console by default on the KMAC 2017-06-17 20:06:28 +02:00
722adce095 tv44: Rearrange belak keymap and add some tap dance magic 2017-06-16 17:08:00 -07:00
98316ef017 Added Grave Escape (#1391)
* added QK_GRAVE_ESC and KC_GESC

* fixed name

* Fixed keycode emnu

* Removed layer check, added left and right GUI mod detection for OSX GUI+~
2017-06-16 14:56:50 -07:00
ff2b01da49 Merge pull request #1400 from belak/belak-ergodox-theme
ergodox: initial addition of belak theme
2017-06-16 17:01:54 -04:00
6549e169f8 Merge pull request #1398 from belak/tv44-keymap-changes
TV44 keymap changes
2017-06-16 17:00:36 -04:00
e9a4a5e961 tv44: add belak keymap 2017-06-16 13:11:40 -07:00
ef4abfeb31 ergodox: initial addition of belak theme
Imported from external repo https://github.com/belak/ergodox-layout at commit
233008ad8c46a85cb118fca0be093c3e751075b0
2017-06-16 10:57:58 -07:00
b4802d7567 Fix home and end to be on <> 2017-06-16 11:57:43 -04:00
d2a11b523b LED control on the BL layer 2017-06-15 21:57:50 -04:00
086aad0d7e Make sure backlight is in the range 0-100 2017-06-16 02:06:30 +03:00
ec88a0b3cc Make sure that the backlight level is within the right range 2017-06-16 02:05:38 +03:00
7d5606085f Correctly calculate backlight level 2017-06-16 02:05:15 +03:00
19f0285a76 Fix typo in BACKLIGHT_ENABLE 2017-06-15 23:21:01 +03:00
29108d1477 tv44: update tong92 keymap to use KEYMAP macro 2017-06-15 12:48:59 -07:00
4cefb45a2d tv44: update xyverz keymap to use KEYMAP macro 2017-06-15 12:48:44 -07:00
f894103997 tv44: update default keymap to use KEYMAP macro 2017-06-15 12:47:57 -07:00
b56a9a9899 tv44: update jeebak keymap to use new macros and remove custom ones 2017-06-15 12:46:25 -07:00
e32e7dc0f5 tv44: update smt keymap to use new macros and remove custom ones 2017-06-15 12:45:53 -07:00
44ce179192 tv44: Fix up the KEYMAP macro
Previously KEYMAP referred to the KEYMAP_ARROW layout and had 45 keys. It makes
more sense for the default keymap to be the 44 key layout, as is implied by the
name.

Additionally keymaps for all other known layouts have been added:

KEYMAP - base layout
KEYMAP_ARROW - additional key in bottom right
KEYMAP_COMMAND - additional key in bottom left
KEYMAP_ARROW_COMMAND - combination of KEYMAP_ARROW and KEYMAP_COMMAND
2017-06-15 12:42:23 -07:00
d9ffd77ee7 Merge pull request #1397 from geofflane/s65x_fixes
S65x fixes
2017-06-15 15:16:52 -04:00
e553bb3af4 LED init works with just pin declared 2017-06-15 13:42:14 -04:00
b107d64d69 Use standard QMK key codes for RGB control 2017-06-15 13:12:36 -04:00
c81be932d2 Fix left shift in ansi layout 2017-06-15 13:12:36 -04:00
899584187f Fix esc key 2017-06-15 13:12:36 -04:00
6a75a7d672 Merge pull request #1394 from Khord/master
Adding custom keymap for Let's Split and updates to custom Planck keymap
2017-06-15 12:34:18 -04:00
be9fd4b4fa Merge pull request #1396 from shieldsd/master
Minor updates to planck/keymaps/dshields
2017-06-15 12:33:44 -04:00
cc158d90ae Minor updates to planck/keymaps/dshields
* tweaks to tap dance keys
* tidy up code
* save a few bytes
2017-06-15 09:41:59 +01:00
5c11ba74d8 tap dance and hold changes to make planck match lets split 2017-06-15 03:34:08 -04:00
a44ba492ea minor fixes 2017-06-15 03:26:04 -04:00
22f985eba7 Add custom let's split keymap 2017-06-15 07:15:27 +00:00
49cfdb544d Added HyperTab and Ctrl/Fn as well as Space cadet parens (#1390)
* Added HyperTab and Ctrl/Escape as well as Space cadet parens to magicmonty keymap

* Replaced CTL_ESC With FN_ESC
2017-06-14 07:20:43 -07:00
3aa620c1ac Update uGFX and Chibios submodules + fixes (#1363)
* Make submodules point to qmk

* Update uGFX to 2.7

* Use ugfx with custom fixes

* Fix the ChibiOs submodule commit hash

To match the hashes in the mabl/ChibiOS and therefore QMK repository.
2017-06-13 21:13:39 -07:00
c2c9cb2505 Merge pull request #1392 from jetpacktuxedo/whitefox
Added whitefox keymap
2017-06-13 22:21:52 -04:00
a7942c4f48 Added whitefox keymap 2017-06-13 16:01:28 -07:00
3d5d3e1b0c Merge pull request #1387 from antelaurijssen/master
Submitting my own custom layout for S60X keyboard
2017-06-12 20:47:35 -04:00
f37daa5343 Properly formatted unordered lists in readme.md 2017-06-12 20:24:56 -04:00
3ee346c07b Mods to readme.md 2017-06-12 20:20:28 -04:00
78a4cfd453 Modifications to readme.md and deletion of keyboard layout images 2017-06-12 20:13:17 -04:00
6b5d67fcc6 Merge pull request #1389 from geofflane/keyboard_s65_x_2
Keyboard S65-X Support #2
2017-06-12 17:08:27 -04:00
d1854e0e04 Merge pull request #1388 from bigbigtor/fix_spanish
Fix spanish keymap
2017-06-12 17:06:11 -04:00
0440c0f072 Add ISO layout for S65-X 2017-06-12 16:57:01 -04:00
568c662c14 Fix media controls in default layout 2017-06-12 16:19:57 -04:00
96b0382fb4 Fix backslash and some of the docs 2017-06-12 16:16:42 -04:00
21fa16651c Rename ES_RCRB to ES_RCBR for consistency reasons (left curly bracket is defined as ES_LCBR) 2017-06-12 21:44:40 +02:00
2c404cca12 Fix keymap definitions referencing inexistent macros 2017-06-12 21:43:34 +02:00
a5b5279da9 Add MIDI layer to magicmonty keymap (#1386)
* Add MIDI layer

* Respect brightness level on layer signalling

* Add hotkey in control layer for signalling state

* Update layout.png

* Remove image and replace it with imgur link
2017-06-12 08:48:01 -07:00
52f6bc164e Merge pull request #1385 from qmk/ez-images
Remove images and old .hex files
2017-06-11 22:50:40 -04:00
23c448b21d remove .hex, .PNG, .jpg 2017-06-11 22:16:42 -04:00
a7ce482d14 remove the rest of the .pngs 2017-06-11 21:24:23 -04:00
54d48140cd -MIDI Chords now using process_record_user instead of F(n) keys
-Morse Code shift keys implemented
2017-06-11 16:00:40 -04:00
c02f9a6ee4 remove most .pngs 2017-06-11 15:36:28 -04:00
6bd4df7a90 define limits to functions 2017-06-11 14:28:30 -04:00
c22a400603 Merge pull request #1384 from geofflane/keyboard_s65x
Support Sentraq S65-X
2017-06-10 22:18:17 -04:00
b1e01e9d1f Support Sentraq S65-X
Add initial support for ANSI layout of S65-X.
Includes support for controlling RGB underlighting.
2017-06-10 21:09:38 -04:00
b721779241 Merge pull request #1383 from qmk/deleting-files
Deleting uppercase docs files
2017-06-10 15:14:17 -04:00
06f0f92c1a Delete VAGRANT_GUIDE.md 2017-06-10 15:13:24 -04:00
7921834663 Delete USB_NKRO.txt 2017-06-10 15:13:15 -04:00
d942389e11 Delete TMK_README.md 2017-06-10 15:13:07 -04:00
3df614c942 Delete POWER.txt 2017-06-10 15:12:59 -04:00
08fdced65f Delete PCB_GUIDE.md 2017-06-10 15:12:52 -04:00
de4a38ab1b Delete Macros.md 2017-06-10 15:12:45 -04:00
ceb7a63c68 Delete Kiibohd.asciidoc 2017-06-10 15:12:39 -04:00
656744e7dd Delete Keymap.md 2017-06-10 15:12:32 -04:00
6442822efd Delete Keycodes.md 2017-06-10 15:12:20 -04:00
f320ac4bc6 Delete Home.md 2017-06-10 15:12:12 -04:00
ee595965ae Delete HAND_WIRE.md 2017-06-10 15:12:04 -04:00
4de370ccc3 Delete FUSE.txt 2017-06-10 15:11:53 -04:00
4092e45b6b Delete FAQ.md 2017-06-10 15:11:36 -04:00
296e8669f3 Delete Embedding.md 2017-06-10 15:11:26 -04:00
fa6044ab1d Delete Eclipse.md 2017-06-10 15:11:18 -04:00
401aab7d5a Delete CYGWIN_GUIDE.md 2017-06-10 15:11:02 -04:00
5e9d5a0a75 Delete BUILD_GUIDE.md 2017-06-10 15:10:44 -04:00
995c3141a6 convert docs to lowercase and underscores 2017-06-10 14:58:55 -04:00
ca01d94005 convert docs to lowercase and underscores 2017-06-10 14:58:24 -04:00
558db0e03f remove leading slash 2017-06-10 12:28:37 -04:00
2508b9b6e2 Merge pull request #1380 from qmk/improve_macro_docs
Clean up and improve the macro documentation
2017-06-10 12:27:05 -04:00
43b6179feb Merge branch 'master' into improve_macro_docs 2017-06-10 12:26:57 -04:00
163754f363 Create Home.md 2017-06-10 12:26:09 -04:00
ad49086be5 Create SUMMARY.md 2017-06-10 12:25:04 -04:00
2f942c9883 Create Custom-Quantum-Functions.md 2017-06-10 12:23:04 -04:00
1da0a19177 make searchable 2017-06-10 12:18:49 -04:00
d81135410c Merge pull request #1382 from binaryplease/handwired_binaryplease
Handwired binaryplease
2017-06-09 21:09:52 -04:00
1502c9c935 put colemak and qwert switching on the top right 2017-06-10 02:44:28 +02:00
0c1dc91d74 removed swapping keys in adjust layer 2017-06-10 02:42:27 +02:00
e3f657dfeb commented out unused layers 2017-06-10 02:01:51 +02:00
5801a1f8af update music docs 2017-06-09 16:42:30 -04:00
a0ac0d3cea Move Dynamic Macros into their own file 2017-06-09 12:25:12 -07:00
767bcac23c Clean up and improve the macro documentation 2017-06-09 11:47:53 -07:00
d2aec1625d removes some images 2017-06-09 14:05:33 -04:00
728f2f8d00 Merge pull request #1378 from nicinabox/fix-ls-avrdude
Let's Split avrdude portability fix
2017-06-09 10:35:33 -04:00
fc39a288ed remove mechmini keymap from ps2avrGB 2017-06-09 10:25:20 -04:00
8c4a59611a due diligence, etc 2017-06-09 10:22:58 -04:00
3b38e6954a Use single brackets for portability with other shells 2017-06-09 09:14:44 -05:00
9ac2ed280c move mechmini to own folder 2017-06-09 10:11:34 -04:00
2a667eba2a Cleanup the Clueboard readme files. 2017-06-08 20:42:37 -07:00
d9f95c5da9 Docfix (#1377)
* SCKLCK is now SCROLLLOCK

Yes, with all three Ls
At least it doesn't have a random K anymore lol

* Removed strange mystery trailing numbers in the docs
2017-06-08 20:05:55 -07:00
481797f92f Documents permissive hold 2017-06-08 23:00:28 -04:00
e4eb4eaa16 Fix layer LED signalling in magicmonty keymap (#1373)
* Fix layer LED signalling in magicmonty keymap

* Include the breathing modes in layer signalling

* Reverts mode to 1 as the other modes flicker

* Add Cursor keys on VIM positions and PAUSE to function layer
2017-06-08 19:55:34 -07:00
e82c089b4c SCKLCK is now SCROLLLOCK (#1376)
Yes, with all three Ls
At least it doesn't have a random K anymore lol
2017-06-08 19:54:49 -07:00
a3385b7a2f Merge pull request #1375 from Wraul/kmac
Add support for KMAC
2017-06-08 16:42:05 -04:00
1b02b2006e Add support for KMAC 2017-06-08 19:35:27 +02:00
4b50ab029d Revert "ugly workaround for ErgoDoxEZ LED bugs: turn 'em all off"
This reverts commit f397402e101774eedd1748b1e31c7386f927d4ed.
2017-06-08 08:59:33 -05:00
5a70cb30ee trying to fix LEDs 2017-06-08 08:59:30 -05:00
3af2bca1fc Merge remote-tracking branch 'upstream/master' 2017-06-08 08:52:32 -05:00
7146dfea6e Created special shift keys for Morse layer that change variable value, enabling to send “shifted” special morse code characters. 2017-06-07 23:57:14 -04:00
8f80f35186 Working on Morse Code Macros 2017-06-07 22:01:28 -04:00
00d9416626 Merge pull request #1372 from chilifries/master
Added support for Mechmini v1
2017-06-07 21:10:45 -04:00
c9e0068cf2 Added support for Mechmini v1 2017-06-07 16:24:40 -07:00
84012d8243 Merge pull request #1359 from agbell/PR
Permissive Hold, and two keymaps
2017-06-07 18:47:29 -04:00
035f7bb1bf Merge remote-tracking branch 'upstream/master' 2017-06-07 15:55:52 -05:00
8cc0035ea0 Add new keyboard layout for the ClueBoard (#1371) 2017-06-07 08:18:26 -07:00
5d83d320cb Merge pull request #1366 from abperiasamy/refine-layout
Replace enter with quote and few reorgs
2017-06-06 12:35:26 -04:00
05b0075391 Merge pull request #1368 from shieldsd/master
Additional tap dance keys/functions for planck/keymap/dshields
2017-06-06 12:35:04 -04:00
ad7a5bdc4f Additional tap dance keys/functions for planck/keymap/dshields 2017-06-06 13:09:55 +01:00
1b8ed53f21 Added a couple of custom keys and updated layer image 2017-06-05 22:17:35 -04:00
5e18e4ab48 update docs link 2017-06-05 16:25:59 -04:00
b51a0db6ed Add backlight support to the default Ergodox Infinity animations 2017-06-03 22:04:10 +03:00
0db6ac46aa remove build stuff 2017-06-03 14:32:02 -04:00
2a7f9a7e46 Add backlight control to the IS31FL3731 driver 2017-06-03 21:30:52 +03:00
effffa33a5 Backlight level handling for the visualizer 2017-06-03 21:14:26 +03:00
4ab61344f5 Adding permissive_hold 2017-06-03 10:28:46 -04:00
587b0de6e5 adding lets split keymap 2017-06-03 10:28:46 -04:00
82de4d039d Ergodox Adam keymap 2017-06-03 10:28:36 -04:00
6d6dee2956 Adding docker compose 2017-06-03 09:32:44 -04:00
0f9bfafb9e Turn off LED matrix by default 2017-06-03 15:31:02 +03:00
a916f4e8b8 Let BACKLIGHT_ENABLE control the Infinity LEDs 2017-06-03 14:34:50 +03:00
9cfa37bb3d Improvements and corrections to morse code macros layer 2017-06-02 22:57:57 -04:00
f397402e10 ugly workaround for ErgoDoxEZ LED bugs: turn 'em all off 2017-06-02 20:02:02 -05:00
4cf17210b6 moved alt out from under space 2017-06-02 19:51:29 -05:00
4ba9917f82 Merge remote-tracking branch 'upstream/master' 2017-06-02 19:50:54 -05:00
aaa67f6930 Merge pull request #1357 from shieldsd/gherkin
Initial commit for gherkin keyboard support. Compiles but untested.
2017-06-02 10:23:54 -04:00
7cbd16c902 Initial commit for gherkin keyboard support. Compiles but untested. 2017-06-02 14:45:42 +01:00
eefec19ad9 Update Keycodes.md 2017-06-02 09:44:08 -04:00
af931368ce Merge pull request #1356 from fabienheureux/patch-1
Broken Keymap docs link
2017-06-02 09:21:15 -04:00
47c209fa02 Update Keycodes.md 2017-06-02 09:21:01 -04:00
19816a4998 Broken Keymap docs link 2017-06-02 10:51:12 +02:00
9069edd934 Merge pull request #1347 from nooges/nyquist
Add Nyquist keyboard support
2017-06-01 12:58:33 -04:00
d548693c8b Merge pull request #1294 from shieldsd/master
Prevent the recording of looping dynamic macros.
2017-06-01 12:18:36 -04:00
606e13a47e Prevent the recording of looping dynamic macros.
If a macro play key is inadvertently recorded in a dynamic macro
a loop is created and the macro will not terminate when played.

This should be prevented.
2017-06-01 16:29:58 +01:00
ec3e684123 Merge pull request #1350 from originerd/add-originerd-planck-keymap
Add originerd planck keymap
2017-06-01 11:19:40 -04:00
05e6dd6527 Merge pull request #1351 from Alfrheim/fixing_dvorak_layout
replacing one R for a T
2017-06-01 11:19:20 -04:00
cf77c42c72 Merge pull request #1353 from 333fred/333fred-layout
ergodox/333fred layout
2017-06-01 11:18:56 -04:00
cc52856bac Merge pull request #1354 from shieldsd/tweaks
Tweak reported power consumption to work with iOS
2017-06-01 11:18:28 -04:00
aae727d9ec Update keymap layout comments 2017-06-01 11:15:21 -04:00
db0ac3bcb3 Tweak reported power consumption to work with iOS 2017-06-01 09:18:33 +01:00
db82b17d6e Remove OLED code and set I2C rate back to 100kHz 2017-06-01 01:26:06 -04:00
dded79a412 Update licensing on visualizer.c 2017-05-31 18:07:02 -07:00
cfaf34daec Updated readme 2017-05-31 17:57:38 -07:00
aa1b1c5756 Added several new macros 2017-05-31 17:42:50 -07:00
f35c82ccb2 Fixed numpad 0 layout 2017-05-31 10:27:39 -07:00
974a77a07c replacing one R for a T 2017-05-31 15:19:37 +02:00
c33c2bbade Add originerd planck keymap 2017-05-31 22:00:44 +09:00
4eba71841e Use code blocks for keyboard layouts 2017-05-30 23:56:28 -07:00
95ae256482 Completed iteration 1 of my layout 2017-05-30 23:52:20 -07:00
9af272e4bb Update lock led processing and remove debug msgs 2017-05-30 21:52:44 -07:00
57cfb5f1ae Merge pull request #1348 from Dbroqua/master
Added DK60 keyboard
2017-05-30 23:12:11 -04:00
fbaf964a85 Improvements to Midi and keymap 2017-05-30 21:27:00 -04:00
949540d601 Added initial keymap files 2017-05-30 18:01:09 -07:00
c5d3faace5 Merge remote-tracking branch 'origin/feature/DK60' 2017-05-30 23:10:14 +02:00
a381eb01f5 - Updated copyright 2017-05-30 23:09:39 +02:00
7a433a7f3d Update copyright info 2017-05-30 16:52:02 -04:00
fbec02c148 Remove Let’s Split plate files 2017-05-30 16:42:04 -04:00
061bb4a0b8 Merge remote-tracking branch 'origin/feature/DK60' 2017-05-30 22:17:20 +02:00
05f5243426 - Updated readme 2017-05-30 22:17:03 +02:00
55d6750254 Merge remote-tracking branch 'origin/feature/DK60' 2017-05-30 22:15:07 +02:00
e280f7aad7 - Added Capslock/Esc led 2017-05-30 22:13:34 +02:00
328bde1624 Merge pull request #1323 from nikchi/master
Variable tapping terms
2017-05-30 15:38:22 -04:00
3c4022c41b hmm? 2017-05-30 14:19:57 -04:00
2c9f846608 Merge pull request #2 from qmk/master
pull in new qmk changes
2017-05-30 14:17:48 -04:00
be204f9cdd Update readme 2017-05-30 13:29:30 -04:00
cb791cf6cd Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-05-30 12:49:38 -04:00
9ecfc23292 make qmk bot do the hard work 2017-05-30 12:49:26 -04:00
4549b0417e Merge pull request #1342 from priyadi/adafruit-mouse-buttons
Adafruit Feather BLE / BLE Friend mouse buttons support
2017-05-30 12:10:45 -04:00
3a1a7d6472 Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-05-30 11:46:34 -04:00
7eccbfe737 exclude PRs 2017-05-30 11:46:25 -04:00
f06f883589 - Some changes on DK60 2017-05-30 16:59:56 +02:00
06684555d2 Another typo... 2017-05-29 22:16:17 -04:00
cd4ccee703 Corrected typo in readme.md 2017-05-29 22:13:52 -04:00
1ef911d150 Added a few images 2017-05-29 22:11:48 -04:00
4c48c29c0e Added MIDI_CHORD layer and other little fixes.
Updated readme.md
2017-05-29 22:09:06 -04:00
5393bc6f4e switched to uint8 and 16 2017-05-29 21:25:50 -04:00
4a8da0cb45 Modify pinout and layouts for Nyquist 2017-05-29 16:20:06 -04:00
aeade1b197 Fork Let’s Split files 2017-05-29 16:04:46 -04:00
732a115b32 Merge pull request #1344 from qmk/jackhumbert-patch-1
Re-enable mouse buttons from #1327
2017-05-29 15:17:38 -04:00
b6c60333e4 Re-enable mouse buttons 2017-05-29 13:21:38 -04:00
0c351fa98b no master needed on push maybe 2017-05-29 12:49:25 -04:00
bd39e91f78 Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-05-29 12:15:03 -04:00
44832127d7 push to git url 2017-05-29 12:14:49 -04:00
7eebdd4760 Jokrik's Clueboard layout (#1340) 2017-05-29 09:10:34 -07:00
1d6a18db99 Merge pull request #1343 from Maartenwut/patch-1
Added SEND_STRING(); to the documentation.
2017-05-29 11:58:08 -04:00
cecf783e14 Merge pull request #1337 from fredizzimo/wsl_setup
Add script for setting up Windows Subsystem for Linux
2017-05-29 11:56:53 -04:00
91c6113cba Added SEND_STRING(); to the documentation. 2017-05-29 17:53:39 +02:00
988941cc0a Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-05-29 11:37:33 -04:00
ee0135fb81 get rid of folders in tar 2017-05-29 11:37:20 -04:00
e179dbd9e6 Merge pull request #1341 from Dbroqua/patch-3
Update Differences-from-TMK.md
2017-05-29 10:55:32 -04:00
7041055ace Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-05-29 10:54:56 -04:00
ae6b803ad6 more than one en-file, and actually ignore docs 2017-05-29 10:54:46 -04:00
3ea5726739 redefined options in config.h 2017-05-29 13:53:13 +02:00
51e44fd6c5 Update Differences-from-TMK.md
Removed fn_actions.

According this [comment](https://github.com/qmk/qmk_firmware/pull/1336#issuecomment-304634633)
2017-05-29 13:17:23 +02:00
f0fc2db4e2 Adafruit Feather BLE / BLE Friend mouse buttons support 2017-05-29 18:17:21 +07:00
80707d529c Merge pull request #1338 from qmk/hf/prevent_stuck_mods
Adds prevent stuck modifiers to EZ default
2017-05-28 20:14:36 -04:00
41fa638aa8 Adds prevent stuck modifiers to EZ default 2017-05-28 20:05:37 -04:00
a83662329d overwriting optins in makefile and configuration 2017-05-29 01:28:18 +02:00
64e4c47ae4 disabled backlight and audio 2017-05-29 01:14:25 +02:00
58af88eb51 copied default planck keymap to handwired_binaryplease; 2017-05-29 00:52:38 +02:00
71feac5717 ignore docs, fix tag/hex pushing 2017-05-28 16:16:56 -04:00
78aebe0631 Update windows 10 instructions 2017-05-28 22:35:45 +03:00
de0a058da7 Merge pull request #1336 from Dbroqua/patch-2
Update Differences-from-TMK.md
2017-05-28 14:47:57 -04:00
999b35c7f8 Create a symlink to qmk if requested 2017-05-28 21:38:14 +03:00
ec720ac1ea Add activate_wsl to .bashrc 2017-05-28 21:30:55 +03:00
fa4a492677 Fix symlink creation 2017-05-28 21:30:55 +03:00
3e4f2f5590 Use unzip instead of 7zip 2017-05-28 21:30:55 +03:00
3d3999d863 Actually install flip instead of just extracting 2017-05-28 21:30:55 +03:00
b8899b48b4 Make symlink to utils and export programmer variables 2017-05-28 21:30:55 +03:00
9c582fc797 Add install dependencies 2017-05-28 21:30:55 +03:00
477bd4b948 Add prompt for re-downloading the utils 2017-05-28 21:30:55 +03:00
c2096bb515 Add driver installation 2017-05-28 21:30:55 +03:00
aa26464480 Add checks for cloning to the right dir 2017-05-28 21:30:55 +03:00
28a4e90565 Download windows flashing utils and driver_installer 2017-05-28 21:30:55 +03:00
b2010cd478 Update Differences-from-TMK.md
Hello,

I'm not sure but it seems to be uint8_t for TMK/fn_actions (cf. https://github.com/tmk/tmk_keyboard/blob/master/README.md ).

Regards,
Damien
2017-05-28 19:17:22 +02:00
d0d81eecef Merge pull request #1334 from fredizzimo/fix_faq_lineending
Fix line endings in FAQ.md
2017-05-28 12:12:47 -04:00
a584675735 Midi Chord Function is now working! But some chords lag... 2017-05-28 08:14:17 -04:00
623b1cd866 Fix line endings in FAQ.md 2017-05-28 12:28:02 +03:00
b8c1f25072 Updates book.json
Auto commit by GitBook Editor
2017-05-27 22:24:53 +00:00
931ad66ffa Updates book.json
Auto commit by GitBook Editor
2017-05-27 22:23:09 +00:00
2003cee609 Updates book.json
Auto commit by GitBook Editor
2017-05-27 22:21:58 +00:00
c3bdddb637 move book for gitbook 2017-05-27 18:20:46 -04:00
c95f08c439 Updates docs/book.json
Auto commit by GitBook Editor
2017-05-27 22:19:38 +00:00
7e84b0e3b3 move old doc to docs 2017-05-27 18:14:21 -04:00
704794bae3 subtree docs 2017-05-27 18:09:52 -04:00
e229dcadb5 Merge pull request #5 from Maartenwut/patch-1
Mention that TT needs 5 taps by default.
2017-05-27 11:03:34 -04:00
bb2a8c3611 Updates book.json
Auto commit by GitBook Editor
2017-05-27 14:56:13 +00:00
e7fccabb1c Mention that TT needs 5 taps by default.
Also gave an example of defining the amount of taps needed.
2017-05-27 12:34:16 +02:00
d24da945d1 Merge pull request #1319 from Johannes-Larsson/master
Add planck/johannes layout
2017-05-26 18:33:25 -04:00
453877422b Merge pull request #1327 from Dbroqua/master
Added Integration of IBM Trackpoint
2017-05-26 18:32:43 -04:00
9851e6f3b1 Merge pull request #1328 from yiancar/qmk_usb_startup_disable
Use variable to disable usb check at startup
2017-05-26 18:31:23 -04:00
492115a611 Merge pull request #4 from Dbroqua/master
Update Modding-your-keyboard.md
2017-05-26 18:30:41 -04:00
e87691fa5d Fix undefined reference errors with avr-gcc 7.1 2017-05-27 00:25:35 +02:00
fa1b92fbb1 Use variable to disable usb check at startup
Adds a define variable which when defined disables the usb startup
check. Modified the makefile to separate above define from bluetooth
dependancy
2017-05-26 21:58:43 +01:00
6d12588cdf Merge pull request #1 from Dbroqua/patch-1
Update Modding-your-keyboard.md
2017-05-26 22:16:09 +02:00
66e9cf9718 clarified tap 2017-05-26 15:59:34 -04:00
6b994ecd82 - Added schematic for Trackpoint demonstration 2017-05-26 21:27:11 +02:00
81e85a1a4e - Added integration of IBM Trackpoint 2017-05-26 20:35:31 +02:00
6a0b13191b Update Modding-your-keyboard.md
Updated `USART version` chapter.

I think there were 2 `#endif` too .
2017-05-26 16:00:48 +02:00
0a4a966c66 Merge pull request #22 from qmk/master
Merge from QMK
2017-05-26 15:57:08 +02:00
6b1f707ce9 Still working on these MIDI CHORDS! 2017-05-26 09:54:40 -04:00
1bff72c009 - 2017-05-26 00:19:12 -04:00
d462409762 tenative readme for variable timing tap 2017-05-26 00:18:59 -04:00
b4b06f81b5 More changes to keymap.c to try and get midi chords to work 2017-05-25 23:03:33 -04:00
b3144112d3 removed need to set customtapping term 0. defaults to 0 already 2017-05-25 16:38:06 -04:00
7c8b166cce changed -1 to 0 can't have negative unsigned ints 🤔 2017-05-25 16:29:57 -04:00
aeb3a34636 moved specific tap term to its own function
included custom_tapping_term in action struct
2017-05-25 16:26:30 -04:00
ac97870801 reduce recurring writes to lock leds 2017-05-25 13:00:21 -07:00
e695b5a33b Added per case tapping term, updated FF-nikchi keymap. 2017-05-25 00:41:00 -04:00
b003669934 Merge pull request #3 from fieldju/patch-1
Fix typo in Macro.md in dynamic macro section.
2017-05-24 23:43:34 -04:00
17a378715e Tapping Term and Memes TD for FF 2017-05-24 23:43:02 -04:00
a9ef02105d Fix typo in Macro.md in dynamic macro section. 2017-05-24 20:13:03 -07:00
1a0dfbbc96 More updates to keymap.c - still errors with midi when trying to compile 2017-05-24 21:15:41 -04:00
6d08de5c67 readme, media keys fix 2017-05-24 21:35:31 +02:00
083267680d Restore deleted MEMO.txt from master 2017-05-24 12:26:56 -07:00
e4f1b238b3 revert changes to config.h 2017-05-24 21:24:13 +02:00
e6c9b07e1c Merge branch 'user_led_configuration' into infinity60
Conflicts:
	keyboards/infinity60/keymaps/jpetermans/keymap.c
2017-05-24 12:07:18 -07:00
2dcd6c38fa Merge remote-tracking branch 'upstream/master' into infinity60 2017-05-24 11:51:20 -07:00
f54b4771eb keymap example update and tweak to set_led_bit function 2017-05-24 11:20:50 -07:00
7a4ec3bd92 Merge pull request #1316 from nikchi/master
FrostyFlake Keymap
2017-05-24 13:59:30 -04:00
690957cdbd media keys and stuff 2017-05-24 19:00:56 +02:00
006ba4bf36 moved unicodemap rules to localer make 2017-05-24 12:36:36 -04:00
b9cf386b21 Merge branch 'master' of https://github.com/qmk/qmk_firmware 2017-05-24 17:58:11 +02:00
ad420e7205 Merge pull request #1317 from qmk/hf/faster_mouse
tweaks default mouse speed constants
2017-05-24 05:09:29 -07:00
a965e5b735 tweaks default mouse speed constants 2017-05-24 07:56:41 -04:00
ef1714f443 more emoji function comments 2017-05-24 00:35:04 -04:00
6536b1ce2a Tap dancing emoji support 😩😩 2017-05-23 23:52:48 -04:00
e90a00c88c then some code blocks 2017-05-23 23:09:19 -04:00
870aaa0a7e pipes without backtics 2017-05-23 23:06:35 -04:00
be4ece0f3e grrr 2017-05-23 23:05:19 -04:00
9359abf33e surrounds stuff with backticks 2017-05-23 23:03:30 -04:00
260ddd3290 quick table tweak 2017-05-23 22:58:35 -04:00
b3eeb9d84a removed s 2017-05-23 18:47:06 -04:00
0e174fcb48 Merge branch 'master' of https://github.com/nikchi/qmk_firmware 2017-05-23 13:13:23 -04:00
3ed2147a88 preonic map 2017-05-23 13:13:20 -04:00
ec86fac6ee Merge pull request #1 from qmk/master
pull new to mine
2017-05-23 13:08:44 -04:00
4d783d0e69 More work on my keymap.c and added .png images of my different layers. 2017-05-22 23:30:25 -04:00
4f1007952b merge 2017-05-22 15:27:57 +02:00
53b094934f matrix layout 2017-05-22 15:25:53 +02:00
06433eb1a0 More work on keymap.c and config.h 2017-05-21 22:37:20 -04:00
f9a301761f Merge pull request #2 from Vifon/master
Update the dynamic macro docs according to the recent changes
2017-05-21 11:27:41 -04:00
34a1bf9e20 Merge https://github.com/qmk/qmk_firmware
Update my qmk_firmware fork
2017-05-21 08:44:52 -04:00
b766407cbe Continuing work on keymap.c 2017-05-21 08:40:42 -04:00
8cd9d26246 Update the dynamic macro docs according to the recent changes
See qmk/qmk_firmware#1275.
2017-05-21 14:27:29 +02:00
d2ad5afaa6 Merge pull request #1 from Xyverz/master
Adding punctuation for clarity.
2017-05-20 21:44:00 -04:00
3588bd694e Adding punctuation for clarity. 2017-05-20 18:39:59 -07:00
68b8f37853 favicon 2017-05-20 13:30:27 -04:00
33f886ad74 favicon 2017-05-20 13:26:08 -04:00
0cd8eb02c7 favicon 2017-05-20 13:20:10 -04:00
c7e9e643fa Update readme.md 2017-05-20 12:38:30 -04:00
d380ed1f75 Update readme.md 2017-05-20 12:37:31 -04:00
684a02ae3f Update SUMMARY.md 2017-05-20 12:30:24 -04:00
b3bff6404c Update SUMMARY.md 2017-05-20 12:29:45 -04:00
046c5d332f Update SUMMARY.md 2017-05-20 12:27:07 -04:00
5e28f88707 Update book.json 2017-05-20 12:07:31 -04:00
d678899c83 Update book.json 2017-05-20 12:04:03 -04:00
2df879cbe3 Update book.json 2017-05-20 12:02:55 -04:00
9c284786e7 Workaround for the macOS caps lock delay (#1308)
* Add 80ms delay for KC_CAPS when used as a tap key

Workaround for the macOS caps lock delay

* Revert "Increase TAPPING_TERM for the Clueboard"

This reverts commit a74e69e9fa889113ee31fbc8dc7e6848fdb07576.
2017-05-19 17:24:47 -07:00
85df687348 m10a lowercase 2017-05-18 18:55:07 -04:00
0d8c73dc8d Merge pull request #1303 from cwesterlund/dvorak_dev_swe
Created a dvorak keymap for Swedish developers using Visual Studio
2017-05-18 15:31:16 -07:00
c686793b59 Merge https://github.com/qmk/qmk_firmware
Update from QMK main
2017-05-17 23:06:57 -04:00
aaa01d0a4e ESC/GRAVE/TILDE better handling (#1307)
* revise HHKB bootloader_size to 4096 such that sw reset works

* cleanup esr/grave/tilde handling function
2017-05-17 18:20:01 -07:00
8da442f411 update travis script 2017-05-17 20:27:07 -04:00
26c6f6a85c Added Space Cadet Rollover Disable to config.h 2017-05-16 22:08:45 -04:00
a74e69e9fa Increase TAPPING_TERM for the Clueboard 2017-05-16 13:09:23 -07:00
3c5b915078 Make KC_GRV accessible 2017-05-16 13:02:22 -07:00
fcef83a5d0 Created a dvorak keymap for Swedish developers using Visual Studio 2017-05-16 15:15:42 +02:00
814b570ba1 Working on keymap.c file... 2017-05-15 22:56:33 -04:00
e5ed23c0b3 summary test 2017-05-15 22:45:20 -04:00
2513912975 Updates book.json
Auto commit by GitBook Editor
2017-05-16 02:39:49 +00:00
52562eaaea Updates book.json
Auto commit by GitBook Editor
2017-05-16 02:38:44 +00:00
3a7e0dd2f6 Updates book.json
Auto commit by GitBook Editor
2017-05-16 02:36:31 +00:00
e0689c000b Updates book.json
Auto commit by GitBook Editor
2017-05-16 02:35:00 +00:00
997a847f8c update links 2017-05-15 22:29:17 -04:00
60daffbe5d Update SUMMARY.md 2017-05-15 22:00:22 -04:00
e5b0095e6c Update SUMMARY.md 2017-05-15 22:00:14 -04:00
819f0998bd Updates SUMMARY.md
Auto commit by GitBook Editor
2017-05-16 01:50:44 +00:00
7cbbf62f5f Merge pull request #1298 from barrar/master
Anti-ghost improvement for older keyboards with empty spots in matrix
2017-05-15 12:20:17 -04:00
5d965a8d41 emojis and reorg 2017-05-15 02:19:50 -04:00
eb660ef218 emoji support but 2017-05-15 01:52:45 -04:00
b2b72058e5 change readme 2017-05-15 00:12:04 -04:00
888026ae73 nikchi flake 2017-05-15 00:10:25 -04:00
ee0b34feaf Started working on custom midi chord function 2017-05-14 20:07:35 -04:00
25c6ca750f added comments and made function name clearer 2017-05-14 15:36:44 -07:00
f006ebebbd Initial push of my keymap 2017-05-14 16:07:44 -04:00
84395e8a04 whoops 2017-05-14 09:36:50 -07:00
b9b2244b82 faster, less bits :) 2017-05-14 08:01:01 -07:00
63d9698d5c faster and less bits... again 2017-05-13 19:07:05 -07:00
37f6f92765 faster and less bits 2017-05-13 18:24:43 -07:00
7b7e285a98 should be using matrix_row_t 2017-05-13 17:22:38 -07:00
acd3e97b83 a bit smaller 2017-05-13 17:01:27 -07:00
99877cdff3 a bit smaller 2017-05-13 16:57:23 -07:00
b9895771ed improvements 2017-05-13 13:19:28 -07:00
95ac79cb67 Updates SUMMARY.md
Auto commit by GitBook Editor
2017-05-13 20:17:26 +00:00
694db4130e Updates SUMMARY.md
Auto commit by GitBook Editor
2017-05-13 20:17:21 +00:00
7f4cf32af9 Updates book.json
Auto commit by GitBook Editor
2017-05-13 20:10:38 +00:00
e7da52c7de Updates book.json
Auto commit by GitBook Editor
2017-05-13 20:09:06 +00:00
43d1e05b31 Updates Home.md
Auto commit by GitBook Editor
2017-05-13 20:04:39 +00:00
05a6449d2d Updates readme.md
Auto commit by GitBook Editor
2017-05-13 18:25:08 +00:00
849ed5a6a0 anti-ghost improvement for older keyboards with empty spots in matrix 2017-05-13 08:51:20 -07:00
4fe58aa6ec Merge pull request #1 from qmk/master
pull
2017-05-13 08:37:25 -07:00
04069c94cc Merge pull request #1297 from khogeland/satan-colemak
Colemak layout for GH60 Satan
2017-05-12 16:24:51 -04:00
a82e752f64 Merge pull request #1291 from adzenith/persistent
Fix spelling of "persistent"
2017-05-12 16:24:29 -04:00
b767719fc8 Colemak layout GH60 Satan 2017-05-12 12:03:09 -07:00
8ddbf7f59f Fix spelling of "persistent"
Fixes #1201.
2017-05-11 15:32:35 -04:00
b412bb8d8c Merge pull request #1283 from TerryMathews/master
Establish support for Bathroom Epiphanies Tiger Lily controller
2017-05-11 14:34:02 -04:00
d6ce42b01c Merge pull request #1288 from Nephiel/led-set-on-layer-change
Call led_set for layer action events to update LEDs on layer changes
2017-05-11 14:32:56 -04:00
de2c51b7ca Merge pull request #1290 from shieldsd/master
Add new features to dshields keymap.
2017-05-11 14:31:11 -04:00
eb3f80b924 Add new features to dshields keymap.
- one shot layers, dynamic macros and tap dance keys
- add a basic readme.md and layout image.
2017-05-11 09:16:55 +01:00
164a6c994b reorder mailbox msg data; formatting 2017-05-10 15:53:59 -07:00
bd2c0b9648 Call led_set for layer action events to update LEDs on layer changes 2017-05-10 19:26:39 +02:00
a144968807 remove breath functions from keymap 2017-05-08 16:38:44 -07:00
16774333ad last readme fix 2017-05-08 16:28:04 -07:00
5fc5661147 third readme fix attempt 2017-05-08 16:19:11 -07:00
d1ff2bb9db readme fix 2017-05-08 16:17:40 -07:00
821f72eae9 documentation cleanup 2017-05-08 16:15:20 -07:00
b5675e2025 Merge branch 'user_led_configuration' of https://github.com/jpetermans/qmk_firmware into user_led_configuration
Conflicts:
	keyboards/infinity60/led_controller.c
	keyboards/infinity60/led_controller.h
2017-05-08 15:42:27 -07:00
9a8904a9c0 Add smt keymap for Clueboard (HHKB-style layout) (#1286)
* Add keymap for smt Clueboard (HHKB layout)

* Add readme for smt Clueboard (HHKB) keymap

* Flesh out the keymap a bit more to support Colemak & Dvorak

* Update README with layout image
2017-05-08 15:32:15 -07:00
967cf0f6d4 Merge remote-tracking branch 'upstream/master' into user_led_configuration 2017-05-08 15:24:50 -07:00
5df74f3ba7 updated keymap for new led functions 2017-05-08 15:13:02 -07:00
f1d81d2cc6 minor change on lock leds 2017-05-08 14:55:57 -07:00
2c5b551970 CLeaned out debug code 2017-05-08 14:35:08 -07:00
52f671c23e small code cleanup 2017-05-08 11:57:40 -07:00
153eb95ab2 Merge pull request #1279 from awpr/master
Change to per-key eager debouncing for ErgoDox EZ.
2017-05-07 21:52:00 -04:00
d9b70cc1c9 Merge pull request #1275 from Vifon/dynamic_macro/trailing_keypresses
dynamic macros: Trim the trailing modifiers; further cleanup
2017-05-07 20:20:55 -04:00
b11a5be62c Merge pull request #1278 from shieldsd/master
Add new keymap for dshields.
2017-05-07 20:18:23 -04:00
0b050f6c33 Merge pull request #1280 from tobsn/patch-1
lowercase .jpg
2017-05-07 20:17:47 -04:00
05b356dea7 Merge pull request #1282 from coderkun/coderkun_neo2
Merge changes for coderkun’s Neo2 layout
2017-05-07 20:16:30 -04:00
7a7b57ffb1 Merge pull request #1284 from bigtunaIO/master
[Bigtuna.IO] Updating Miuni32 Layouts
2017-05-07 20:16:03 -04:00
84a358845b Fix compile error 2017-05-07 18:00:06 -04:00
22738df5f5 Merge branch 'dev' 2017-05-07 14:44:28 -07:00
d099266853 [Miuni32] Rm accidentally committed file 2017-05-07 14:42:21 -07:00
ba90cf422c Merge remote-tracking branch 'bigtunaio/layouts/adam-lee' into dev 2017-05-07 14:40:37 -07:00
f2fcab96a8 Merge remote-tracking branch 'upstream/master' 2017-05-07 14:36:10 -07:00
29df2be2a9 Merge remote-tracking branch 'upstream/master' into dev 2017-05-07 14:35:43 -07:00
3381254c65 Establish support for Bathroom Epiphanies Tiger Lily controller
Replacement controller for Filco Majestouch 2 104 key keyboard. BE
advises code will also work with the Black Petal controller - I don't
have one to test with. Tests working perfectly on my Filco.
2017-05-07 17:23:19 -04:00
230c70e285 - Initial commit for branch DK60 2017-05-07 22:56:27 +02:00
d28d390ad6 Update README for keymap “coderkun_neo2” 2017-05-06 12:25:24 +02:00
49046f621b Merge tag '0.5.43' into coderkun_neo2 2017-05-06 12:19:45 +02:00
9e7448ea89 Fix F-keys on right hand to start on first key 2017-05-06 12:17:51 +02:00
b2083e21a2 lowercase .jpg I think
i guess that fixes the image link - currently its broken
2017-05-05 23:55:06 +02:00
cb60fe393f Add new keymap for dshields. 2017-05-05 14:41:13 +01:00
a1e156a3d2 dynamic_macro.h: Do not use backlight_toggle if backlight is disabled
Fixes #1199.
2017-05-05 00:11:24 +02:00
10a7cd7e5a dynamic_macro.h: Add debug logs 2017-05-04 23:57:22 +02:00
8e94c9b4cb dynamic_macro.h: Make the documentation more clear 2017-05-04 22:39:02 +02:00
2704c163da Merge pull request #1272 from Thor77/ps2avrGB-keymap-kc-prefix
[ps2avrGB] Add KEYMAP without KC-prefix
2017-05-04 15:07:57 -04:00
3af95509b5 Merge pull request #1273 from Vifon/pr_1267_fix
Add DYN_REC_STOP to the dynamic macros, cleanup PR #1267
2017-05-04 15:07:04 -04:00
425f0a768b revise HHKB bootloader_size to 4096 such that sw reset works (#1274) 2017-05-04 10:27:35 -07:00
4b50ea15a9 dynamic_macro.h: Do not save the keys being held when stopping the recording
More specifically, we save them and then place the `macro_end` pointer
before them so they are essentially ignored and the other macro may
freely overwrite them.
2017-05-04 01:42:09 +02:00
436d661775 dynamic_macro.h: Fix an off-by-two error
We need to check whether we just passed the after-the-end point of the
other macro. Instead we were checking whether we are going to reach it
now.
2017-05-04 01:26:35 +02:00
5e2a999278 dynamic_macro.h: Always toggle the backlight twice as a notification
Apparently sometimes the backlight was toggled only once and it was left on.
2017-05-04 00:58:01 +02:00
40fe30e4d6 dynamic_macro.h: Ignore all the initial key releases
Right after the user initiates the macro recording, they usually need
to release some keys used to access the DYN_REC_START layers. It makes
sense to ignore them.

Note: The keys used to access the DYN_REC_STOP key are *not* ignored.
2017-05-04 00:14:38 +02:00
7f3b1232c4 Use KC_KEYMAP for default-keymap
and remove obsolete explicit line-separator "\"
2017-05-03 22:13:46 +02:00
38b076d22d Add KEYMAP without KC_##-prefix
and rename old variant to KEYMAP_KC
2017-05-03 22:01:02 +02:00
c5cef025ec Merge pull request #1269 from ryanmaclean/patch-6
Cleaning Up Dockerfile Layers Per Official Docs
2017-05-01 12:15:27 -04:00
b27fb216ef Testing initial blink support 2017-04-30 16:27:46 -07:00
7ce94eb468 Cleaning Up Dockerfile Layers Per Official Docs
From the official docs: 

```
Note: The official Debian and Ubuntu images automatically run apt-get clean, so explicit invocation is not required.
```

Also added ` && rm -rf /var/lib/apt/lists/*` as part of the install line which probably does what was intended (no need to make a new layer). 

Added apt-get update to the RUN payload, as it should be part of the same layer. 

Both are documented here: https://docs.docker.com/engine/userguide/eng-image/dockerfile_best-practices/
2017-04-30 15:04:00 -07:00
26b51383b2 Merge pull request #1266 from ryanmaclean/patch-5
Adding AMJ60 ANSI Maximized Layout
2017-04-30 16:57:14 -04:00
29026ec023 Merge pull request #1268 from priyadi/promethium
Promethium keymap update
2017-04-30 11:18:54 -04:00
343f8d368e Simple RGB backlight theming 2017-04-30 18:04:58 +07:00
2f28652dcc Syntax fix 2017-04-30 18:03:03 +07:00
c8ac556e63 Update vifon keymap to use DYN_REC_STOP 2017-04-30 19:48:07 +10:00
1201d4910f Add cinaeco hhkb keymap 2017-04-30 19:30:39 +10:00
4ff40a551a Add DYN_REC_STOP to dynamic macros
Dynamic macro functionality is modified to check for `DYN_REC_STOP`, so
that macro recording can be stopped with a designated key combination
(e.g. `qs` or anything) instead of mandating the use of a `_DYN` layer.

`_DYN` layer stopping can still be done by passing `DYN_REC_STOP` within
`process_record_user()`:

    bool process_record_user(uint16_t keycode, keyrecord_t *record) {
      uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
      if (!process_record_dynamic_macro(macro_kc, record)) {
        return false;
      }
      return true;
    }
2017-04-30 19:21:44 +10:00
ff512ea5b4 Addind Sample Maxed Out Keymap
Keeping hold space for fn1, adding three other user-mappable keys.
2017-04-29 16:18:26 -07:00
9122b34a47 Adding Maximized Layout
Both split shifts and HHKB split backspace.
2017-04-29 16:16:21 -07:00
ff6beeb7a3 simplified lock led function 2017-04-29 09:22:40 -07:00
d8f1949029 Promethium update: demo LED, fix PS2 delay, fix LED ordering, change click frequency 2017-04-29 13:21:27 +07:00
cdef372f57 Document the MAGIC keys 2017-04-28 11:56:03 -07:00
425e7348d8 Modified ht_156 keymap 2017-04-27 23:12:43 -07:00
b3945c103c Simplified processing in led_controller; more control at user level. 2017-04-26 23:12:25 -07:00
cd30a60d0e Change to per-key eager debouncing for ErgoDox EZ.
Empirically, waiting for N consecutive identical scans as a debouncing
strategy doesn't work very well for the ErgoDox EZ where scans are very
slow compared to most keyboards.  Instead, debounce the signals by
eagerly reporting a change as soon as one scan observes it, but then
ignoring further changes from that key for the next N scans.

This is implemented by keeping an extra matrix of uint8 countdowns, such
that only keys whose countdown is currently zero are eligible to change.
When we do observe a change, we bump that key's countdown to DEBOUNCE.
During each scan, every nonzero countdown is decremented.

With this approach to debouncing, much higher debounce constants are
tolerable, because latency does not increase with the constant, and
debounce countdowns on one key do not interfere with events on other
keys.  The only negative effect of increasing the constant is that the
minimum duration of a keypress increases.  Perhaps I'm just extremely
unlucky w.r.t. key switch quality, but I saw occasional bounces even
with DEBOUNCE=10; with 15, I've seen none so far.  That's around 47ms,
which seems like an absolutely insane amount of time for a key to be
bouncy, but at least it works.
2017-04-26 15:29:39 -07:00
a793e094bc Created Porting Your Keyboard to QMK (ARM and other ChibiOS CPUs) (markdown) 2017-04-21 22:24:02 -07:00
f9d226ca50 tune clicks 2017-04-19 12:35:05 +07:00
3c7db55ec5 Merge remote-tracking branch 'upstream/master' into promethium 2017-04-19 12:04:15 +07:00
ce0efa6b9a Fix LED sequence; bug fixes 2017-04-19 12:03:48 +07:00
8665ed3efc small changes 2017-04-18 09:46:07 -05:00
4634e3802c Added simple macros to test. 2017-04-16 17:39:04 -07:00
c4f93e237e Added media layer for ht_156 2017-04-16 16:08:31 -07:00
f9aa75fe95 Added ht_156 keymap files 2017-04-16 15:31:05 -07:00
9d4050586d Merge branch 'master' into layouts/adam-lee 2017-04-16 15:20:31 -07:00
857600aa4b Merge branch 'master' into dev 2017-04-16 15:19:20 -07:00
7e930626eb Add a personal layout for adam
Collectively we should keep on working on the "default" layout.
I am adding my own layout to freely explore adjustments
and new features.
2017-04-16 15:06:08 -07:00
22afddb8e8 Replace RALT with RSFT 2017-04-16 14:50:25 -07:00
3bfe4cdb4f Added END and other keymap file formatting. 2017-04-16 14:19:51 -07:00
1bab72383c Added DEL and F1 to F12 keys 2017-04-16 14:10:29 -07:00
ccabf70aeb Added keymap commets to default layout. 2017-04-16 13:40:03 -07:00
046f1baf30 more stable lock led process, added debugging code 2017-04-15 14:37:55 -07:00
6c30fd04d3 Updated Keycodes (markdown) 2017-04-15 13:17:41 -07:00
c0ec1756af Added backlight step functionality 2017-04-14 18:20:12 -07:00
a9f4596062 Add TAB, N, LSFT on Layer 2 2017-04-14 00:02:25 -07:00
f076f16e13 Add KC_T on Layer 2 2017-04-13 23:50:57 -07:00
4810a4a812 Add LCTL + L on Layer 2 2017-04-13 23:47:50 -07:00
ec1e936dfb fixed bit shift in led_set_bit 2017-04-13 17:51:37 -07:00
1b1adf35bb more flexible led processing functions, all and on/off/toggle
functioning
2017-04-13 17:15:24 -07:00
f90321bdcb Update keymap - hopefully more usable 2017-04-13 09:25:05 -07:00
15635817b5 Updated lock led init 2017-04-12 23:32:38 -07:00
dddbcc2af3 Replace double quote with comma 2017-04-12 22:11:08 -07:00
592ff53e41 Enable RGB Animation 2017-04-12 21:19:00 -07:00
73625a603a Merge branch 'master' into miuni32-OA 2017-04-12 20:58:36 -07:00
835adb7848 colemak layout maybe 2017-04-12 23:11:51 +02:00
91b11bb4dd Update default layout
This is a 2U Spacebar layout. Spacebar is between V and B.

Issue:

	- RGB MOD does not seem to do anything
2017-04-12 01:12:16 -07:00
0881f2dbfa fixed write_led_page col shift, added option for lock led display 2017-04-11 23:33:48 -07:00
f9c62aa363 Link to ChibiOS 2017-04-11 06:56:12 -07:00
1b0f5e4803 Updated Compatible Microcontrollers (markdown) 2017-04-11 06:55:39 -07:00
c876bb8748 Adding notes about ARM processors 2017-04-11 06:55:24 -07:00
d8e9c183be led init code missing pwm writes for Frame 1 2017-04-10 22:23:45 -07:00
dda858c437 revised led controller code to allow for more options
unable to switch picture displays
2017-04-10 17:36:47 -07:00
3899bec4b6 Merge pull request #1 from qmk/master
Catchup
2017-04-08 00:30:54 -04:00
a2ac883779 add ability to toggle individual led by address 2017-04-07 15:58:17 -07:00
af13e9a12d Moved led page arrays to keymap.c and added keymap header to define
individual led addresses
2017-04-06 16:27:51 -07:00
d89114400c Small keymap tweak and clean up. 2017-04-06 15:22:13 -07:00
56be300757 Add Kinetis_i2c settings consistent with whitefox mcuconf 2017-04-06 14:23:14 -07:00
91f2e9fb5e match hal settings to whitefox, fix make rules 2017-04-06 13:53:18 -07:00
02ef122cbb Add led_controller.h to user keymap.c 2017-04-06 13:51:33 -07:00
f66361d678 add led init function to header for use in keymap.c 2017-04-06 13:48:31 -07:00
da4c2d2e3e Adjust led_controller.c matrix sttings and init function 2017-04-06 13:46:54 -07:00
b73c935d36 Added tmk whitefox led files 2017-04-06 13:45:15 -07:00
dfb0a512a0 Added personal configs and keymap to infinity60/keymaps 2017-04-06 13:43:22 -07:00
1054d5554a Updated Custom Quantum Functions (markdown) 2017-04-04 23:14:40 -07:00
e77a5e1751 Updated Custom Quantum Functions (markdown) 2017-04-04 23:14:27 -07:00
1ca879687c Updated Custom Quantum Functions (markdown) 2017-04-04 22:35:21 -07:00
32e55f9182 Updated Custom Quantum Functions (markdown) 2017-04-04 22:33:36 -07:00
34836a16ed Updated Custom Quantum Functions (markdown) 2017-04-04 22:33:12 -07:00
b65282f69f Updated Custom Quantum Functions (markdown) 2017-04-04 22:23:01 -07:00
36757de1a7 Updated Custom Quantum Functions (markdown) 2017-04-04 22:16:16 -07:00
891d17f028 Updated Custom Quantum Functions (markdown) 2017-04-04 22:15:41 -07:00
4f48dd7c83 Created Custom Quantum Functions (markdown) 2017-04-04 22:15:17 -07:00
0e7a2a77de Updated Becoming a QMK Collaborator (markdown) 2017-04-04 21:42:08 -04:00
b096b57b0b Created Becoming a QMK Collaborator (markdown) 2017-04-04 21:21:27 -04:00
54f69d02d5 Updated _Sidebar (markdown) 2017-04-04 20:00:34 -04:00
78cf15384e Created Adding features to QMK (markdown) 2017-04-04 20:00:06 -04:00
8b218857ed Revert 923d32a0eff175fac8d67574456ad9e1bd2941eb...f39bad2a7dd5d57e4a80dd15dec21826ef7a2a67 on Key Functions 2017-04-04 19:42:58 -04:00
20d69e2ad4 clean-up keycode stuff 2017-04-04 19:42:10 -04:00
46179fbb7b split off tmk differences into own page 2017-04-04 19:32:33 -04:00
c0a8953405 Created Differences from TMK (markdown) 2017-04-04 19:30:13 -04:00
a07b83fe8e Updated Home (markdown) 2017-04-04 19:25:24 -04:00
816ef19f41 Fixed my wording 2017-04-04 15:28:57 -04:00
2e78c19054 Added note about homebrew related installation times 2017-04-04 15:26:31 -04:00
0f7a51cef5 Add information about trackpoint 2017-04-02 22:13:05 +07:00
049f906b5e Fix keymap “coderkun_neo” to use LALT instead of RALT 2017-04-01 12:17:41 +02:00
021edb6ec6 Add several Unicode symbols to keymap “coderkun_neo2” 2017-04-01 12:06:27 +02:00
c74f47555c Add keymap diagrams to readme of keymap “coderkun_neo2” 2017-04-01 11:15:20 +02:00
605c4129cc Merge branch 'master' into coderkun_neo2 2017-04-01 10:56:29 +02:00
d029e23260 Updated Home (markdown) 2017-03-31 00:39:20 +09:00
f39bad2a7d Updated Key Functions (markdown) 2017-03-31 00:35:50 +09:00
46977da417 Updated Home (markdown) 2017-03-31 00:31:28 +09:00
1a675efc4f Updated Keycodes (markdown) 2017-03-31 00:25:12 +09:00
3627a50e63 Updated Home (markdown) 2017-03-31 00:04:21 +09:00
97d6184ed0 Updated Keymap (markdown) 2017-03-30 23:57:59 +09:00
5fb058eb34 Updated Home (markdown) 2017-03-30 23:49:07 +09:00
32c511c918 Rename back to right name 2017-03-30 21:51:37 +09:00
923d32a0ef Updated Key Functions (markdown) 2017-03-30 09:14:22 +03:00
258e2afbbf Typo fixes 2017-03-29 23:41:27 +09:00
c3f7df992d Reminding TMK/QMK difference here should be good idea. 2017-03-29 23:38:06 +09:00
3c3388d7f6 Updated Mouse keys (markdown) 2017-03-27 09:54:49 +03:00
0605107f13 Updated Mouse keys (markdown) 2017-03-27 09:54:33 +03:00
18bc47ebab Created Mouse keys (markdown) 2017-03-27 09:53:27 +03:00
004a92d9a6 Updated _Sidebar (markdown) 2017-03-27 09:51:57 +03:00
2407b27243 fix link for VAGRANT_GUIDE file 2017-03-25 16:22:08 +09:00
76b9a2662a MT does work with right-hand side modifiers. See #1166. 2017-03-19 14:00:50 +01:00
3c11a8d241 Added missing codes: KC_MEDIA_FAST_FORWARD and KC_MEDIA_REWIND 2017-03-17 12:44:29 +02:00
b20106d238 Replace enter with quote and few reorgs 2017-03-08 01:12:12 -08:00
82d9abf9f3 Updated License Clarification (markdown) 2017-02-28 21:44:10 -08:00
71855087cf Removing eltang as he doesn't show up in the current git blame. 2017-02-27 10:34:21 -08:00
99fc4a330e Updated License Clarification (markdown) 2017-02-25 07:03:10 -07:00
873fee8038 Updated _Sidebar (markdown) 2017-02-22 22:07:12 -05:00
74518260b8 Updated _Sidebar (markdown) 2017-02-22 22:06:56 -05:00
4d13a8063d Updated _Sidebar (markdown) 2017-02-22 22:06:37 -05:00
0e54e9d528 Documents TT 2017-02-22 21:33:36 -05:00
3cefa5cc82 Updated _Sidebar (markdown) 2017-02-22 21:32:06 -05:00
24be0efd4b Updated _Sidebar (markdown) 2017-02-22 20:03:51 -05:00
39b51573e6 Moves Modding Your Keyboard to its own page 2017-02-22 19:59:27 -05:00
603e3fd2f6 Created Modding your keyboard (markdown) 2017-02-22 19:59:01 -05:00
729fe5d8d4 Moves porting info to its own page 2017-02-22 19:58:21 -05:00
c008ac79bf Created Porting your keyboard to QMK (markdown) 2017-02-22 19:58:11 -05:00
203d90d9fe Moves Unicode and foreign-language info into its own page. 2017-02-22 19:56:46 -05:00
6fb9c094ec Created Unicode and additional language support (markdown) 2017-02-22 19:56:31 -05:00
6e88c5014b Moves unit testing into its own page. 2017-02-22 19:53:08 -05:00
2c89a77e67 Created Unit testing (markdown) 2017-02-22 19:52:59 -05:00
89529a9f17 Updated _Sidebar (markdown) 2017-02-17 14:29:35 -08:00
ab7ffc877a Updated _Sidebar (markdown) 2017-02-17 14:29:24 -08:00
93cd47d491 Updated _Sidebar (markdown) 2017-02-17 14:28:59 -08:00
7990cd2c92 Updated _Sidebar (markdown) 2017-02-17 14:28:35 -08:00
bcc86a09d5 Updated _Sidebar (markdown) 2017-02-17 14:27:58 -08:00
7d29d5f091 Updated _Sidebar (markdown) 2017-02-17 14:27:34 -08:00
e546b7655c Updated Keymap (markdown) 2017-02-17 14:22:55 -08:00
5f9532ea66 Updated Keymap (markdown) 2017-02-17 14:20:25 -08:00
6868497557 Updated Keymap (markdown) 2017-02-17 14:14:10 -08:00
4c9dae0e3b Updated Keymap (markdown) 2017-02-17 14:11:32 -08:00
44cd6aa41a Updated Keymap (markdown) 2017-02-17 14:10:10 -08:00
0bffb86721 Updated Keymap (markdown) 2017-02-17 14:09:50 -08:00
36f8936b03 Created Keymap (markdown) 2017-02-17 14:09:35 -08:00
359245bcc6 Updated FAQ Keymap (markdown) 2017-02-17 13:18:04 -08:00
7da82a6833 Updated FAQ Keymap (markdown) 2017-02-17 13:17:23 -08:00
b51d9d5d3f Updated Home (markdown) 2017-02-16 17:15:38 -08:00
921884de5d Updated Home (markdown) 2017-02-16 17:14:16 -08:00
30bf618864 Updated Home (markdown) 2017-02-16 17:09:39 -08:00
d9527a2f74 Updated Keymap examples (markdown) 2017-02-16 17:09:12 -08:00
56e9a286b5 Updated QMK Overview (markdown) 2017-02-16 17:07:39 -08:00
cdef9bd02f Updated QMK Overview (markdown) 2017-02-16 17:06:00 -08:00
8d88997ffd Updated QMK Overview (markdown) 2017-02-16 17:05:21 -08:00
a3b575b740 Updated QMK Overview (markdown) 2017-02-16 17:04:10 -08:00
f9a7dd6cca Created Make Instructions (markdown) 2017-02-16 17:03:17 -08:00
35d9010c63 Updated QMK Overview (markdown) 2017-02-16 17:00:57 -08:00
42f167eb57 Created QMK Overview (markdown) 2017-02-16 17:00:19 -08:00
e86e6431fc Updated Home (markdown) 2017-02-16 16:39:43 -08:00
b5d35e43c7 Created Macros (markdown) 2017-02-16 16:37:25 -08:00
b5af4e6dda Updated Home (markdown) 2017-02-16 16:34:35 -08:00
c23a2fc928 Updated Home (markdown) 2017-02-16 16:31:17 -08:00
8bc52c0e86 Created Tap Dance (markdown) 2017-02-16 16:30:12 -08:00
ac3753937a Created Leader Key (markdown) 2017-02-16 16:24:28 -08:00
53fde9a1ff Updated Home (markdown) 2017-02-16 16:23:02 -08:00
5730599d18 Created Space Cadet Shift (markdown) 2017-02-16 16:22:17 -08:00
2cbd99b663 Updated _Sidebar (markdown) 2017-02-16 19:11:58 -05:00
b7501868a0 Updated Home (markdown) 2017-02-16 15:51:26 -08:00
d817d8743e Created Key Functions (markdown) 2017-02-16 15:51:14 -08:00
d791dd7c91 Updated Keycodes (markdown) 2017-02-16 15:42:13 -08:00
ce8d46d74f Updated Keycodes (markdown) 2017-02-16 15:40:49 -08:00
cad54d5313 Updated Keycodes (markdown) 2017-02-16 15:39:55 -08:00
3c766d29e2 Updated Keycodes (markdown) 2017-02-16 15:34:53 -08:00
7053347efd Updated Keycodes (markdown) 2017-02-16 15:01:36 -08:00
67c4186a9e Updated Keycodes (markdown) 2017-02-16 14:58:44 -08:00
a2a216d316 Updated Keycodes (markdown) 2017-02-16 14:50:55 -08:00
26fda6bfa3 Updated Keycodes (markdown) 2017-02-16 14:50:36 -08:00
18c09dd154 Updated Keycodes (markdown) 2017-02-16 14:48:49 -08:00
2793758db7 Updated Keycodes (markdown) 2017-02-16 14:48:27 -08:00
218bd63294 Updated Keycodes (markdown) 2017-02-16 14:47:56 -08:00
ede95297d3 Updated Keycodes (markdown) 2017-02-16 14:47:31 -08:00
b663cb63c0 Updated Keycodes (markdown) 2017-02-16 14:46:43 -08:00
0b809313d0 Updated Keycodes (markdown) 2017-02-16 14:45:49 -08:00
459f206ec7 Updated Keycodes (markdown) 2017-02-16 14:45:21 -08:00
e1dd99ea74 Updated Keycodes (markdown) 2017-02-16 14:44:32 -08:00
b0efdf8795 Updated Keycodes (markdown) 2017-02-16 14:44:23 -08:00
e6a45c5092 Updated Keycodes (markdown) 2017-02-16 14:44:12 -08:00
896a48bac0 Updated Keycodes (markdown) 2017-02-16 14:08:58 -08:00
e1dc3377a4 Updated Keycodes (markdown) 2017-02-16 14:08:45 -08:00
d2e7b8b469 Updated Keycodes (markdown) 2017-02-16 14:08:33 -08:00
fcbcff8020 Updated Keycodes (markdown) 2017-02-16 14:08:22 -08:00
615dc93fba Created Keycodes (markdown) 2017-02-16 14:07:56 -08:00
118287420f tiny spelling change "frimware" to "firmware" 2017-02-16 17:24:51 +01:00
2210a55e98 Adding Stephan Bosebeck's signoff 2017-02-15 08:31:30 -08:00
7741f2a498 Updated License Clarification (markdown) 2017-02-15 10:51:54 +11:00
c94efed1e6 Created _Sidebar (markdown) 2017-02-14 18:04:20 -05:00
eb5b52c6c6 change jackhumbert to qmk 2017-02-14 18:03:27 -05:00
5df4372c81 Updated Compatible Microcontrollers (markdown) 2017-02-14 18:01:20 -05:00
ba27a11288 Updated Home (markdown) 2017-02-14 17:57:16 -05:00
f43e6f224b Created Build Environment Setup (markdown) 2017-02-14 17:56:06 -05:00
6862ab1609 Updated Home (markdown) 2017-02-14 15:38:05 +01:00
cf97749fb7 Updated Home (markdown) 2017-02-14 02:57:15 +07:00
eddc161d5d Updated License Clarification (markdown) 2017-02-09 18:04:58 +01:00
4d905b17f4 Signing off for GPL licensing 2017-02-09 18:00:54 +01:00
c3ebd9e61b Fix indent to show code formatting, <keymap_colemak.h> was missing 2017-02-05 16:08:31 -08:00
f936a3d5c2 stuff 2017-02-03 14:10:19 +01:00
cdece6811d Signing off for GPL licensing 2017-02-03 13:16:19 +01:00
453cd25ab8 Merge branch 'master' of https://github.com/Johannes-Larsson/qmk_firmware 2017-02-03 10:49:46 +01:00
8a7daf34a2 initial keymap 2017-02-03 10:47:37 +01:00
bd43954a70 Fix username typo 2017-02-02 21:23:53 -06:00
eadb1afbd0 fixes typo 2017-02-02 18:32:21 -05:00
4344273c95 Updated License Clarification (markdown) 2017-02-02 13:55:18 -08:00
7b798789f9 Updated Home (markdown) 2017-02-02 08:51:36 -05:00
5f79da2d5f Updated Home (markdown) 2017-01-31 20:19:05 -05:00
e97a2215c7 Updated License Clarification (markdown) 2017-01-30 20:23:22 +01:00
aa491523ab Signing off my contributions 2017-01-31 02:02:59 +07:00
24a61213aa Adding signify for @IBNobody 2017-01-30 10:57:07 -08:00
3a1e9890dc Adding signify for @lindhe 2017-01-30 10:45:19 -08:00
6cf5c7e7f4 Adding signify for @yangliu 2017-01-30 10:44:38 -08:00
50dd22d1bf Updated License Clarification (markdown) 2017-01-30 17:29:40 +01:00
Seb
cb5a8feeb2 Updated License Clarification (markdown) 2017-01-30 09:11:07 +01:00
dbeda99de1 Sign off on rgblight.c 2017-01-29 20:08:12 -06:00
89799309d7 Updated License Clarification (markdown) 2017-01-29 18:31:57 -05:00
761b4e04bf Added my sign off 2017-01-29 21:25:10 +01:00
29ea5f92ca Updated License Clarification (markdown) 2017-01-29 12:02:10 -08:00
07b0a4144e Updated License Clarification (markdown) 2017-01-29 10:54:37 -08:00
66ec000886 Updated License Clarification (markdown) 2017-01-29 10:19:15 -08:00
9413e3958a Updated License Clarification (markdown) 2017-01-29 11:38:43 +02:00
8b66d71521 Updated License Clarification (markdown) 2017-01-29 10:35:44 +01:00
01c7475d12 add my consent. 2017-01-29 09:29:44 +01:00
420074d37f Updated License Clarification (markdown) 2017-01-29 02:37:49 -05:00
db7de0d47c Updated License Clarification (markdown) 2017-01-28 22:12:54 -08:00
8cad52d8f3 Updated License Clarification (markdown) 2017-01-28 22:12:43 -08:00
b1a2c4cd59 Created License Clarification Details (markdown) 2017-01-28 22:08:51 -08:00
6b7e4a9bc9 Updated License Clarification (markdown) 2017-01-28 22:08:15 -08:00
8567544174 Updated License Clarification (markdown) 2017-01-28 22:07:07 -08:00
d5de7e20fd Updated License Clarification (markdown) 2017-01-28 22:04:05 -08:00
8347993d6b Updated License Clarification (markdown) 2017-01-28 22:02:36 -08:00
e364b2267a Updated License Clarification (markdown) 2017-01-27 18:35:59 -08:00
128640a7df Updated License Clarification (markdown) 2017-01-27 18:34:58 -08:00
646d1f83a5 Updated License Clarification (markdown) 2017-01-27 18:31:23 -08:00
143a4ff78f Updated License Clarification (markdown) 2017-01-27 18:19:12 -08:00
00010b47bc Updated License Clarification (markdown) 2017-01-27 17:54:48 -08:00
757a79636b Updated License Clarification (markdown) 2017-01-27 17:54:14 -08:00
35737ee07f Updated License Clarification (markdown) 2017-01-27 17:51:29 -08:00
d51ad5db0f Updated License Clarification (markdown) 2017-01-27 17:47:43 -08:00
223494e691 Updated License Clarification (markdown) 2017-01-27 17:44:58 -08:00
3df44ecfc8 Updated License Clarification (markdown) 2017-01-27 17:08:57 -08:00
858efff8e5 Updated License Clarification (markdown) 2017-01-27 16:27:36 -08:00
6a54982324 Updated License Clarification (markdown) 2017-01-27 16:21:25 -08:00
5942b0f103 Updated License Clarification (markdown) 2017-01-27 14:54:42 -08:00
0eebccb283 Updated License Clarification (markdown) 2017-01-27 14:51:58 -08:00
d524b3f5e5 Updated License Clarification (markdown) 2017-01-27 14:26:21 -08:00
c0a04929f2 Updated License Clarification (markdown) 2017-01-27 14:21:31 -08:00
9adb6f777b Updated License Clarification (markdown) 2017-01-27 14:14:19 -08:00
5c277651a3 Updated License Clarification (markdown) 2017-01-27 11:30:25 -08:00
69581f47d5 Updated License Clarification (markdown) 2017-01-27 10:39:31 -08:00
bc68d4ef2c Updated License Clarification (markdown) 2017-01-27 10:38:03 -08:00
4bba3be825 Updated License Clarification (markdown) 2017-01-27 10:35:54 -08:00
228e4add0b Created License Clarification (markdown) 2017-01-27 10:02:33 -08:00
b420185f5b Added KC_QUES, updated file path. 2017-01-19 20:38:13 -05:00
032712866f Link correctly to keycode.txt 2017-01-13 10:21:47 -05:00
942b78e8c2 Updated Home (markdown) 2017-01-11 18:36:44 -05:00
1cefc94082 Destroyed Build Options (org) 2017-01-11 18:36:08 -05:00
e7fb34a910 Updated Build Options (org) 2017-01-11 18:25:02 -05:00
67868d39f8 Created Build Options (org) 2017-01-11 18:21:41 -05:00
8d61e884f2 Fix dfu-programmer link 2017-01-10 14:58:56 -05:00
166f428a2b Updated Home (markdown) 2017-01-09 16:29:04 +01:00
4587248cda add warning to install_dep 2016-12-30 11:09:58 -05:00
b0ade6dc98 Fix return value of hex_to_keycode() function in keymap “coderkun_neo2” 2016-12-28 20:08:45 +01:00
bdca5c22fe Language edits 2016-12-21 21:54:04 -05:00
7571474874 Updated Memory write error, use debug for more info (markdown) 2016-12-20 11:11:45 -05:00
dbf13e9c98 Created Memory write error, use debug for more info (markdown) 2016-12-20 09:51:13 -05:00
b251f2582e Updated Home (markdown) 2016-12-06 09:48:37 -05:00
b22b1fd5fb copy over readme for final time 2016-12-06 09:44:22 -05:00
b7533e0abf Documents TO. 2016-10-12 22:19:35 -04:00
c66b090d4c Copy the main readme.md here 2016-09-19 15:27:06 -04:00
d352a8bc29 Importing and building the project 2016-09-18 21:24:56 +02:00
ae7c3a0692 Instruct to use the Eclipse installer instead of extracting the package, describe first launch and plugin installation. 2016-09-18 15:03:27 +02:00
22e234f9b5 Initial version 2016-09-18 13:27:27 +02:00
cab29b61e4 Updated Home (markdown) 2016-07-03 21:34:20 -04:00
abfc9265c4 Updated Home (markdown) 2016-07-03 21:33:56 -04:00
6b67129c51 Destroyed Build Guide (markdown) 2016-07-03 21:33:40 -04:00
c6d0da9a37 Updated FAQ Build (markdown) 2016-06-04 16:13:04 -04:00
e04aff10fa Updated FAQ Build (markdown) 2016-06-04 16:12:41 -04:00
049e5916a4 Updated Home (markdown) 2016-03-28 02:22:04 -03:00
71614e5b98 Updated Home (markdown) 2016-03-28 02:20:27 -03:00
b803589e29 Build guide in the wiki section 2016-03-28 02:14:52 -03:00
2b0b5d804a Add Atreus 2016-02-08 18:23:15 +07:00
tmk
29664234e2 Updated TMK Based Projects (markdown) 2016-02-05 13:33:43 +09:00
tmk
e5e7dbebf6 Updated TMK Based Projects (markdown) 2016-02-05 09:22:16 +09:00
tmk
6778c175f5 Updated TMK Based Projects (markdown) 2016-02-05 09:22:01 +09:00
tmk
a38fc1beae Created Report Descriptor (markdown) 2016-02-02 14:41:14 +09:00
tmk
79f28ac3bd Created USB HID (markdown) 2016-01-29 01:11:35 +09:00
5a7d3dce95 Updated TMK Based Projects (markdown) 2016-01-27 14:30:52 +01:00
aee41b1293 Updated TMK Based Projects (markdown) 2016-01-27 13:45:50 +01:00
6b368a8edc Added link to embedding page 2016-01-27 13:44:43 +01:00
e13934c60a Updated Embedding (markdown) 2016-01-27 13:42:44 +01:00
611ca00918 Added a warning 2016-01-27 13:42:05 +01:00
5eef65f9b4 Created Embedding (markdown) 2016-01-27 13:40:02 +01:00
9b9a1a946e Typo 2016-01-27 12:58:13 +01:00
tmk
78783e23d8 Created Kiibohd (asciidoc) 2016-01-27 08:48:49 +09:00
943d1cc673 Updated TMK Based Projects (markdown) 2016-01-17 15:53:36 +01:00
f4b5b8486f Updated TMK Based Projects (markdown) 2016-01-16 17:18:58 +01:00
006a1f806a Added link to project 2016-01-16 16:53:55 +01:00
0e5b64f092 Rename title 2016-01-16 16:52:46 +01:00
c4f5db9351 Update links to documentation 2016-01-16 16:12:40 +01:00
266aae0ebc Adding the S60-X to the list of supported keyboards. 2016-01-16 00:16:12 -02:00
tmk
85d56eea38 Updated TMK Based Projects (markdown) 2016-01-16 11:08:36 +09:00
tmk
97fe4201aa Updated Keymap examples (markdown) 2016-01-16 10:56:01 +09:00
tmk
32df47053b Updated TMK Based Projects (markdown) 2016-01-16 10:24:45 +09:00
tmk
8bccc5d217 Updated TMK Own Projects (markdown) 2016-01-16 10:24:16 +09:00
tmk
b3f45e2efd Updated TMK Own Projects (markdown) 2016-01-16 10:22:35 +09:00
tmk
f743e65ab7 Updated Home (markdown) 2016-01-16 10:21:46 +09:00
tmk
5133bb146e Updated TMK based Projects (markdown) 2016-01-16 10:21:23 +09:00
tmk
f95480e3ca Updated TMK own projects (markdown) 2016-01-16 10:21:06 +09:00
tmk
053b3b9847 Created TMK own projects (markdown) 2016-01-16 10:20:33 +09:00
tmk
53278bc658 Updated TMK based Projects (markdown) 2016-01-16 10:18:37 +09:00
tmk
4a34a192b5 Updated Home (markdown) 2016-01-16 10:18:17 +09:00
tmk
a5bf8cc4e1 Updated TMK Projects (markdown) 2016-01-16 10:17:09 +09:00
9335aa3965 Fix broken link to keymap 2016-01-04 09:57:49 -07:00
tmk
f791834c68 Updated FAQ (markdown) 2016-01-04 19:38:20 +09:00
tmk
b681171774 Updated FAQ (markdown) 2016-01-04 11:41:19 +09:00
e6423f50a4 Updated FAQ (markdown) 2015-12-29 17:05:50 -05:00
tmk
dd5bfb6f3e Created Test for ASCIIDOC (asciidoc) 2015-12-17 13:48:33 +09:00
tmk
de235b3e07 Updated Home (markdown) 2015-12-17 12:32:38 +09:00
tmk
23c6af02c2 Updated FAQ (markdown) 2015-12-17 12:28:56 +09:00
tmk
1b495b94a9 Updated FAQ Keymap (markdown) 2015-12-14 15:58:09 +09:00
tmk
33b55c11a8 Updated FAQ Keymap (markdown) 2015-12-14 15:55:43 +09:00
tmk
59adb168b4 Updated FAQ Build (markdown) 2015-12-10 06:11:33 +09:00
tmk
f3b7863b56 Updated FAQ Build (markdown) 2015-12-09 14:45:22 +09:00
tmk
bf88dfa5db Updated FAQ Keymap (markdown) 2015-12-09 12:04:14 +09:00
tmk
4e9170156e Updated FAQ Keymap (markdown) 2015-12-09 12:03:07 +09:00
tmk
fbbf8b501f Updated Keymap examples (markdown) 2015-12-09 10:16:04 +09:00
tmk
304be86c80 Updated Keymap examples (markdown) 2015-12-09 10:13:29 +09:00
tmk
45ce7048d5 Updated Keymap examples (markdown) 2015-12-07 09:48:35 +09:00
tmk
79a23399e8 Created Keymap examples (markdown) 2015-12-07 09:47:52 +09:00
tmk
77a877f5d3 Updated Home (markdown) 2015-12-07 09:47:32 +09:00
tmk
7139a0704b Updated Other Protjects (markdown) 2015-12-05 13:50:39 +09:00
tmk
869e6316d0 Updated Other Protjects (markdown) 2015-12-05 13:47:59 +09:00
tmk
70cf332498 Created Other Protjects (markdown) 2015-12-05 13:45:42 +09:00
tmk
b2d1c4950c Updated Home (markdown) 2015-12-05 13:44:05 +09:00
tmk
0e8f5b0d91 Updated Home (markdown) 2015-12-05 13:43:32 +09:00
tmk
d03be6dbcb Updated Projects (markdown) 2015-12-05 13:43:04 +09:00
tmk
1ef3dee821 Updated FAQ Build (markdown) 2015-11-27 10:59:33 +09:00
tmk
79aa1f3484 Updated FAQ Build (markdown) 2015-11-27 10:59:07 +09:00
tmk
a5fc9c9165 Updated FAQ Build (markdown) 2015-11-27 10:56:20 +09:00
03c1f72594 Updated file path for tmk_core 2015-11-11 12:06:40 +00:00
tmk
8002d8dc29 Updated FAQ Keymap (markdown) 2015-10-29 06:21:33 +09:00
tmk
c38bac480b Updated FAQ Keymap (markdown) 2015-10-29 06:03:25 +09:00
tmk
483de13114 Updated FAQ Keymap (markdown) 2015-10-29 05:50:25 +09:00
tmk
06e9019a06 Updated FAQ Keymap (markdown) 2015-10-21 07:03:53 +09:00
tmk
caf197b905 Updated FAQ Keymap (markdown) 2015-10-21 07:03:11 +09:00
tmk
ee732d7753 Updated FAQ Keymap (markdown) 2015-10-21 07:03:01 +09:00
tmk
2196a5facf Updated FAQ (markdown) 2015-10-07 16:31:02 +09:00
tmk
d28ecc1e4a Updated FAQ (markdown) 2015-10-07 16:29:38 +09:00
tmk
eeaef60ffa Updated FAQ Keymap (markdown) 2015-10-07 04:09:04 +09:00
tmk
6e1a6d1981 Updated FAQ Keymap (markdown) 2015-10-06 15:57:00 +09:00
tmk
50e0b35560 Updated FAQ Keymap (markdown) 2015-10-06 15:56:44 +09:00
tmk
f7ae70962c Updated FAQ Keymap (markdown) 2015-10-06 15:49:17 +09:00
tmk
1b0fec884f Updated FAQ Keymap (markdown) 2015-10-06 15:43:51 +09:00
tmk
7328ba0f3b Updated FAQ Keymap (markdown) 2015-10-05 04:05:56 +09:00
tmk
9d25855bb0 Updated FAQ Keymap (markdown) 2015-10-05 04:02:42 +09:00
tmk
08f1bde358 Updated FAQ Keymap (markdown) 2015-10-05 03:51:26 +09:00
tmk
db193b8cf9 Updated FAQ (markdown) 2015-10-03 07:04:27 +09:00
tmk
8d47fe7bc7 Updated FAQ (markdown) 2015-10-03 07:03:58 +09:00
tmk
6163f0ea51 Updated FAQ Keymap (markdown) 2015-09-27 05:48:41 +09:00
tmk
8008a8a9dc Updated FAQ (markdown) 2015-09-19 18:31:10 +09:00
tmk
c8f3e845e7 Updated FAQ Build (markdown) 2015-08-31 10:40:59 +09:00
tmk
14466e820d Updated Previously Asked Questions (markdown => asciidoc) 2015-08-10 10:20:55 +09:00
tmk
86fa48e1ee Updated Previously Asked Questions (mediawiki => markdown) 2015-08-10 10:20:26 +09:00
tmk
7c8a062cd7 Updated Previously Asked Questions (asciidoc => mediawiki) 2015-08-10 10:20:05 +09:00
tmk
bd9d75701c Updated Previously Asked Questions (asciidoc) 2015-08-10 10:17:13 +09:00
tmk
d5bbecc134 Updated Previously Asked Questions (asciidoc) 2015-08-10 10:17:01 +09:00
tmk
3290a75dd0 Updated Previously Asked Questions (asciidoc) 2015-08-10 10:16:36 +09:00
tmk
b216768cef Updated Previously Asked Questions (asciidoc) 2015-08-10 10:16:16 +09:00
tmk
c797334f51 Updated Previously Asked Questions (asciidoc) 2015-08-10 10:15:47 +09:00
tmk
f98e803e5c Updated Previously Asked Questions (asciidoc) 2015-08-10 10:04:23 +09:00
tmk
c84d220b07 Updated Previously Asked Questions (asciidoc) 2015-08-10 10:03:41 +09:00
tmk
3ea6555f88 Updated Previously Asked Questions (asciidoc) 2015-08-10 10:02:46 +09:00
tmk
13b8908951 Updated Previously Asked Questions (asciidoc) 2015-08-10 09:43:38 +09:00
tmk
4a37910295 Updated Previously Asked Questions (mediawiki => asciidoc) 2015-08-10 09:43:16 +09:00
tmk
2945841985 Updated Previously Asked Questions (mediawiki) 2015-08-10 09:35:55 +09:00
tmk
08e31e7995 Updated Previously Asked Questions (markdown => mediawiki) 2015-08-10 09:34:59 +09:00
tmk
7d3dda21a5 Updated Previously Asked Questions (markdown) 2015-08-09 16:18:55 +09:00
tmk
e451b38848 Updated Previously Asked Questions (markdown) 2015-08-09 16:17:29 +09:00
tmk
dcc1abcdd5 Updated Previously Asked Questions (markdown) 2015-08-09 16:17:05 +09:00
tmk
94ccc65542 Updated Previously Asked Questions (markdown) 2015-08-09 16:13:34 +09:00
tmk
c25b5b0093 Created Previously Asked Questions (markdown) 2015-08-09 16:12:01 +09:00
tmk
2c22bbda5a Updated FAQ Keymap (markdown) 2015-07-04 06:10:28 +09:00
410bc48e5a Updated FAQ (markdown) 2015-06-09 16:32:24 +06:00
tmk
cd71aeb63e Updated FAQ Keymap (markdown) 2015-05-16 23:58:50 +09:00
tmk
81545bbe10 Updated FAQ Build (markdown) 2015-05-09 13:33:56 +09:00
tmk
b4f1638643 Updated FAQ (markdown) 2015-05-06 10:12:46 +09:00
tmk
c9b11560bf Updated FAQ (markdown) 2015-05-06 10:07:23 +09:00
tmk
ff1130f76d Updated FAQ (markdown) 2015-05-06 08:27:22 +09:00
tmk
3e0c1937f4 Updated Git subtree (markdown) 2015-04-28 10:27:11 +09:00
tmk
398c4feed4 Created Git subtree (markdown) 2015-04-28 10:26:11 +09:00
tmk
5d7a4e3059 Updated FAQ (markdown) 2015-04-13 10:53:40 +09:00
tmk
ac01b69edf Updated FAQ (markdown) 2015-04-13 10:51:28 +09:00
tmk
5031ae08bf Updated FAQ (markdown) 2015-04-13 10:50:34 +09:00
tmk
2c11165fb6 Updated FAQ Keymap (markdown) 2015-03-24 16:39:28 +09:00
tmk
9761907332 Updated FAQ Keymap (markdown) 2015-03-24 16:39:04 +09:00
tmk
2931b8c18c Updated FAQ Keymap (markdown) 2015-03-24 16:31:11 +09:00
tmk
0eff2b199d Updated FAQ Keymap (markdown) 2015-03-24 16:30:35 +09:00
tmk
5e5aee44e5 Updated FAQ Keymap (markdown) 2015-03-09 20:34:06 +09:00
tmk
506c776300 Updated FAQ Keymap (markdown) 2015-03-09 20:30:35 +09:00
tmk
d6141c0bce Updated FAQ Keymap (markdown) 2015-03-09 20:28:55 +09:00
tmk
b64631d02c Updated FAQ Keymap (markdown) 2015-03-09 20:23:18 +09:00
tmk
b321f44ff6 Updated FAQ Keymap (markdown) 2015-03-09 20:22:02 +09:00
tmk
1650d4692c Updated FAQ Keymap (markdown) 2015-03-07 14:19:44 +09:00
tmk
64e64e5153 Updated FAQ Build (markdown) 2015-01-22 13:13:53 +09:00
tmk
12e5912c9a Updated FAQ Build (markdown) 2015-01-14 09:35:19 +09:00
tmk
756706a704 Updated FAQ Keymap (markdown) 2015-01-14 09:25:28 +09:00
tmk
126ba262ef Updated FAQ Build (markdown) 2015-01-14 09:25:15 +09:00
tmk
8bb74c6062 Updated FAQ (markdown) 2015-01-14 09:24:15 +09:00
tmk
c716bc0234 Updated FAQ Build (markdown) 2015-01-14 09:23:20 +09:00
tmk
7c80d1d777 Updated FAQ (markdown) 2015-01-14 09:20:55 +09:00
tmk
416f946463 Updated FAQ (markdown) 2015-01-14 09:20:06 +09:00
tmk
9f02c070ca Updated FAQ (markdown) 2015-01-14 09:16:02 +09:00
tmk
00ec258e31 Created FAQ Build (markdown) 2015-01-14 09:15:50 +09:00
tmk
3c27d7b048 Updated FAQ (markdown) 2015-01-14 09:15:29 +09:00
tmk
28c9339859 Updated Home (markdown) 2015-01-14 09:13:36 +09:00
tmk
07baa1b65d Updated FAQ Keymap (markdown) 2015-01-14 09:11:36 +09:00
tmk
b33cd7d7ec Updated mbed cortex porting (markdown) 2015-01-14 07:03:23 +09:00
tmk
111593b6d8 Updated mbed cortex porting (markdown) 2015-01-14 07:03:11 +09:00
tmk
4785e6d228 Updated mbed cortex porting (markdown) 2015-01-14 07:02:26 +09:00
tmk
a94c683ab9 Updated FAQ Keymap (markdown) 2015-01-14 05:19:43 +09:00
tmk
f27207e807 Updated FAQ Keymap (markdown) 2015-01-14 05:16:09 +09:00
tmk
2f44de6240 Updated FAQ Keymap (markdown) 2015-01-14 05:15:42 +09:00
tmk
59c8a733e6 Updated FAQ Keymap (markdown) 2015-01-14 05:03:47 +09:00
tmk
2acb2f0937 Updated mbed cortex porting (markdown) 2014-12-29 20:30:46 -08:00
tmk
4b46263952 Updated mbed cortex porting (markdown) 2014-12-29 20:30:31 -08:00
tmk
48a3cbf9b3 Updated mbed cortex porting (markdown) 2014-12-29 20:19:32 -08:00
tmk
edfb9363dd Updated mbed cortex porting (markdown) 2014-12-29 20:18:04 -08:00
tmk
75cb446d36 Created mbed cortex porting (markdown) 2014-12-29 20:17:06 -08:00
tmk
464b9a80d4 Updated Home (markdown) 2014-12-29 20:15:33 -08:00
tmk
b105d83bce Updated FAQ (markdown) 2014-12-15 19:07:42 -08:00
tmk
69fe8cf232 Updated FAQ (markdown) 2014-11-26 21:06:32 -08:00
tmk
bf5638e511 Updated FAQ (markdown) 2014-11-26 20:17:46 -08:00
tmk
f7172ff5a6 Updated FAQ Keymap (markdown) 2014-11-26 18:13:26 -08:00
tmk
cca7b10727 Updated FAQ Keymap (markdown) 2014-11-26 18:12:44 -08:00
tmk
d4437d6694 Updated FAQ Keymap (markdown) 2014-11-26 18:12:07 -08:00
tmk
4178b00533 Updated FAQ Keymap (markdown) 2014-11-26 18:11:41 -08:00
tmk
686476fa93 Updated FAQ (markdown) 2014-11-26 17:42:52 -08:00
tmk
2a7bd276a4 Updated FAQ (markdown) 2014-11-26 17:41:59 -08:00
tmk
e40086b2fe Updated FAQ (markdown) 2014-11-26 17:41:40 -08:00
tmk
bdafdf1ef8 Updated FAQ (markdown) 2014-11-26 17:40:28 -08:00
tmk
083c77390a Created FAQ Keymap (markdown) 2014-11-26 17:40:02 -08:00
tmk
1793bfd096 Updated Home (markdown) 2014-11-26 17:38:54 -08:00
tmk
b129491366 Updated Home (markdown) 2014-11-26 17:38:39 -08:00
tmk
ae8ddde1cf Updated Home (markdown) 2014-11-26 17:35:24 -08:00
tmk
43f121497f Created HHKB Alt controller (markdown) 2014-11-23 19:07:09 -08:00
tmk
3d9d4bfe3e Updated Home (markdown) 2014-11-23 19:03:45 -08:00
tmk
67416629e3 Updated FAQ (markdown) 2014-11-16 22:24:54 -08:00
tmk
00a8847daf Updated FAQ (markdown) 2014-11-16 22:00:14 -08:00
tmk
c5dfee04af Updated FAQ (markdown) 2014-11-16 21:50:43 -08:00
tmk
e6d58d5ac2 Updated FAQ (markdown) 2014-11-16 21:49:31 -08:00
tmk
e52a7cf448 Updated FAQ (markdown) 2014-11-08 21:32:43 -08:00
tmk
9e51e54240 Updated FAQ (markdown) 2014-11-08 21:32:20 -08:00
tmk
fb3c7c0572 Updated FAQ (markdown) 2014-11-02 18:02:12 -08:00
tmk
b4eea94baa Updated FAQ (markdown) 2014-11-02 17:58:42 -08:00
tmk
f91c584a44 Updated FAQ (markdown) 2014-10-16 23:42:21 -07:00
tmk
7219c4a4b6 Updated FAQ (markdown) 2014-09-28 00:53:13 -07:00
tmk
6ec6c8017f Updated FAQ (markdown) 2014-09-28 00:44:31 -07:00
tmk
8daad815e8 Updated FAQ (markdown) 2014-09-28 00:41:36 -07:00
tmk
30bbfe92b3 Updated FAQ (markdown) 2014-06-19 21:14:25 -07:00
tmk
3c446334e9 Updated FAQ (markdown) 2014-06-19 21:12:04 -07:00
tmk
520ddc19a1 Updated FAQ (markdown) 2014-05-19 18:39:29 -07:00
tmk
f1ed69fa7b Updated FAQ (markdown) 2014-05-19 18:38:09 -07:00
tmk
b828fff788 Updated FAQ (markdown) 2014-05-16 16:26:25 -07:00
tmk
7fad7ddb0b Updated FAQ (markdown) 2014-05-14 12:38:02 -07:00
tmk
ea13eaf1c0 Updated FAQ (markdown) 2014-05-12 17:56:34 -07:00
tmk
50a763a460 Updated FAQ (markdown) 2014-05-12 17:56:12 -07:00
tmk
fa9ce5771f Updated FAQ (markdown) 2014-04-30 20:45:43 -07:00
tmk
b1a827aaa6 Updated FAQ (markdown) 2014-04-26 12:53:55 -07:00
tmk
62d5ca9b81 Updated Projects (markdown) 2014-04-25 21:13:36 -07:00
tmk
2dbd047aa5 Updated Home (markdown) 2014-04-25 20:38:27 -07:00
tmk
9893fac5c5 Created Projects (markdown) 2014-04-25 20:37:46 -07:00
tmk
22d1aeb409 Updated FAQ (markdown) 2014-04-21 18:11:45 -07:00
tmk
6fc76b224b Updated FAQ (markdown) 2014-04-21 18:10:48 -07:00
tmk
7963233140 Updated FAQ (markdown) 2014-04-14 16:16:06 -07:00
tmk
0f34b9fd44 Updated FAQ (markdown) 2014-04-14 15:31:02 -07:00
tmk
d3388d3468 Updated FAQ (markdown) 2014-04-11 19:32:25 -07:00
tmk
cecb912e53 Updated Compatible Microcontrollers (markdown) 2014-04-10 19:14:41 -07:00
tmk
2f0837bd6e Updated FAQ (markdown) 2014-03-25 08:01:56 -07:00
tmk
0e03275c40 Updated FAQ (markdown) 2014-03-25 08:01:30 -07:00
tmk
ae74a81356 Updated FAQ (markdown) 2014-03-25 08:00:41 -07:00
tmk
43669fb270 Updated FAQ (markdown) 2014-03-24 17:01:43 -07:00
tmk
01a218f36b Updated FAQ (markdown) 2014-03-16 13:39:50 -07:00
tmk
5383d37925 Updated FAQ (markdown) 2014-03-06 17:07:50 -08:00
tmk
10932b8f90 Updated FAQ (markdown) 2014-03-06 17:07:06 -08:00
tmk
a25df9432b Updated FAQ (markdown) 2014-03-06 17:04:09 -08:00
tmk
bf6d2b5ebd Updated FAQ (markdown) 2014-03-03 17:20:54 -08:00
tmk
700a77a0f3 Updated FAQ (markdown) 2014-03-03 17:17:50 -08:00
tmk
4464a288a1 Updated FAQ (markdown) 2014-03-03 17:16:27 -08:00
tmk
f893628865 Updated FAQ (markdown) 2014-03-03 15:17:00 -08:00
tmk
ab4f24a16a Updated FAQ (markdown) 2014-03-03 15:08:02 -08:00
tmk
fb94b97e48 Updated FAQ (markdown) 2014-03-02 22:16:28 -08:00
tmk
e7069410ff Updated FAQ (markdown) 2014-03-01 12:53:20 -08:00
tmk
cd7cba54fe Updated FAQ (markdown) 2014-03-01 12:34:51 -08:00
tmk
ef9902f5ed Updated FAQ (markdown) 2014-03-01 12:13:29 -08:00
tmk
51e37dc5cd Updated FAQ (markdown) 2014-03-01 12:12:59 -08:00
tmk
81055457fa Updated FAQ (markdown) 2014-02-28 18:09:22 -08:00
tmk
5e2f882230 Updated FAQ (markdown) 2014-02-28 18:07:46 -08:00
tmk
50fc1a5a5b Updated FAQ (markdown) 2014-02-28 17:44:30 -08:00
tmk
7a8e9cc136 Created FAQ (markdown) 2014-02-28 17:42:00 -08:00
tmk
1a0be5e750 Updated Home (markdown) 2014-02-28 17:23:32 -08:00
767690aa59 Adding link to the Compatible Microcontrollers list. 2014-01-25 18:11:37 -08:00
1f419424c4 Updated to confirm ATmega32U2 on a custom board. 2014-01-25 18:10:11 -08:00
tmk
444e7cc53b Updated Compatible Microcontrollers (markdown) 2013-11-17 16:39:10 -08:00
f427a6c6d8 Created page. Initial list is the ATmega32U4 from the Teensy. 2013-11-17 11:47:36 -08:00
tmk
b0365c7ac3 Initial Commit 2012-05-13 18:36:16 -07:00
727 changed files with 26179 additions and 26104 deletions

6
.gitignore vendored
View File

@ -22,6 +22,7 @@ quantum/version.h
.idea/
CMakeLists.txt
.DS_STORE
/util/wsl_downloaded
# Eclipse/PyCharm/Other IDE Settings
.cproject
@ -33,3 +34,8 @@ CMakeLists.txt
util/Win_Check_Output.txt
.vscode
.stfolder
# ignore image files
*.png
*.jpg
*.gif

6
.gitmodules vendored
View File

@ -1,12 +1,12 @@
[submodule "lib/chibios"]
path = lib/chibios
url = https://github.com/ChibiOS/ChibiOS.git
url = https://github.com/qmk/ChibiOS
[submodule "lib/chibios-contrib"]
path = lib/chibios-contrib
url = https://github.com/ChibiOS/ChibiOS-Contrib.git
url = https://github.com/qmk/ChibiOS-Contrib
[submodule "lib/ugfx"]
path = lib/ugfx
url = https://bitbucket.org/Tectu/ugfx
url = https://github.com/qmk/uGFX
[submodule "lib/googletest"]
path = lib/googletest
url = https://github.com/google/googletest

View File

@ -1,6 +1,7 @@
os: linux
dist: trusty
sudo: required
group: edge
language: c
branches:
except:

View File

@ -1,8 +1,7 @@
FROM debian:jessie
MAINTAINER Erik Dasque <erik@frenchguys.com>
RUN apt-get update
RUN apt-get install --no-install-recommends -y build-essential \
RUN apt-get update && apt-get install --no-install-recommends -y build-essential \
gcc \
unzip \
wget \
@ -15,10 +14,10 @@ RUN apt-get install --no-install-recommends -y build-essential \
gcc-arm-none-eabi \
binutils-arm-none-eabi \
libnewlib-arm-none-eabi \
git
RUN apt-get clean
RUN rm -rf /var/lib/apt/lists/*
git \
software-properties-common \
avrdude \
&& rm -rf /var/lib/apt/lists/*
ENV keyboard=ergodox
ENV subproject=ez
@ -26,4 +25,4 @@ ENV keymap=default
VOLUME /qmk
WORKDIR /qmk
CMD make clean ; make keyboard=${keyboard} subproject=${subproject} keymap=${keymap}
CMD make clean; make;

View File

@ -419,7 +419,7 @@ define BUILD_TEST
MAKE_TARGET := $2
COMMAND := $1
MAKE_CMD := $$(MAKE) -r -R -C $(ROOT_DIR) -f build_test.mk $$(MAKE_TARGET)
MAKE_VARS := TEST=$$(TEST_NAME)
MAKE_VARS := TEST=$$(TEST_NAME) FULL_TESTS=$$(FULL_TESTS)
MAKE_MSG := $$(MSG_MAKE_TEST)
$$(eval $$(call BUILD))
ifneq ($$(MAKE_TARGET),clean)

24
book.json Normal file
View File

@ -0,0 +1,24 @@
{
"structure": {
"readme": "home.md",
"summary": "_summary.md"
},
"plugins" : ["toolbar", "edit-link", "anchors"],
"pluginsConfig": {
"edit-link": {
"base": "https://github.com/qmk/qmk_firmware/edit/master/docs",
"label": "Suggest an edit"
},
"toolbar": {
"buttons":
[
{
"label": "QMK Firmware",
"icon": "fa fa-github",
"url": "https://github.com/qmk/qmk_firmware"
}
]
}
},
"root": "./docs/"
}

30
build_full_test.mk Normal file
View File

@ -0,0 +1,30 @@
# Copyright 2017 Fred Sundvik
#
# 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/>.
#include $(TMK_PATH)/protocol.mk
TEST_PATH=tests/$(TEST)
$(TEST)_SRC= \
$(TEST_PATH)/test.cpp \
$(TMK_COMMON_SRC) \
$(QUANTUM_SRC) \
tests/test_common/matrix.c \
tests/test_common/test_driver.cpp \
tests/test_common/keyboard_report_util.cpp \
tests/test_common/test_fixture.cpp
$(TEST)_DEFS=$(TMK_COMMON_DEFS)
$(TEST)_CONFIG=$(TEST_PATH)/config.h
VPATH+=$(TOP_DIR)/tests/test_common

View File

@ -31,8 +31,6 @@ $(error MASTER does not have a valid value(left/right))
endif
endif
KEYBOARD_PATH := keyboards/$(KEYBOARD)
KEYBOARD_C := $(KEYBOARD_PATH)/$(KEYBOARD).c
@ -42,7 +40,6 @@ else
$(error "$(KEYBOARD_C)" does not exist)
endif
ifneq ($(SUBPROJECT),)
SUBPROJECT_PATH := keyboards/$(KEYBOARD)/$(SUBPROJECT)
SUBPROJECT_C := $(SUBPROJECT_PATH)/$(SUBPROJECT).c
@ -118,139 +115,12 @@ endif
# # project specific files
SRC += $(KEYBOARD_C) \
$(KEYMAP_C) \
$(QUANTUM_DIR)/quantum.c \
$(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c \
$(QUANTUM_DIR)/process_keycode/process_leader.c
$(QUANTUM_SRC)
ifneq ($(SUBPROJECT),)
SRC += $(SUBPROJECT_C)
endif
ifndef CUSTOM_MATRIX
SRC += $(QUANTUM_DIR)/matrix.c
endif
ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
OPT_DEFS += -DAPI_SYSEX_ENABLE
SRC += $(QUANTUM_DIR)/api/api_sysex.c
OPT_DEFS += -DAPI_ENABLE
SRC += $(QUANTUM_DIR)/api.c
MIDI_ENABLE=yes
endif
MUSIC_ENABLE := 0
ifeq ($(strip $(AUDIO_ENABLE)), yes)
OPT_DEFS += -DAUDIO_ENABLE
MUSIC_ENABLE := 1
SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
SRC += $(QUANTUM_DIR)/audio/audio.c
SRC += $(QUANTUM_DIR)/audio/voices.c
SRC += $(QUANTUM_DIR)/audio/luts.c
endif
ifeq ($(strip $(MIDI_ENABLE)), yes)
OPT_DEFS += -DMIDI_ENABLE
MUSIC_ENABLE := 1
SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
endif
ifeq ($(MUSIC_ENABLE), 1)
SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
endif
ifeq ($(strip $(COMBO_ENABLE)), yes)
OPT_DEFS += -DCOMBO_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_combo.c
endif
ifeq ($(strip $(VIRTSER_ENABLE)), yes)
OPT_DEFS += -DVIRTSER_ENABLE
endif
ifeq ($(strip $(FAUXCLICKY_ENABLE)), yes)
OPT_DEFS += -DFAUXCLICKY_ENABLE
SRC += $(QUANTUM_DIR)/fauxclicky.c
endif
ifeq ($(strip $(UCIS_ENABLE)), yes)
OPT_DEFS += -DUCIS_ENABLE
UNICODE_COMMON = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
endif
ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
OPT_DEFS += -DUNICODEMAP_ENABLE
UNICODE_COMMON = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
endif
ifeq ($(strip $(UNICODE_ENABLE)), yes)
OPT_DEFS += -DUNICODE_ENABLE
UNICODE_COMMON = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
endif
ifeq ($(strip $(UNICODE_COMMON)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
endif
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
OPT_DEFS += -DRGBLIGHT_ENABLE
SRC += $(QUANTUM_DIR)/light_ws2812.c
SRC += $(QUANTUM_DIR)/rgblight.c
CIE1931_CURVE = yes
LED_BREATHING_TABLE = yes
endif
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
OPT_DEFS += -DTAP_DANCE_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
endif
ifeq ($(strip $(PRINTING_ENABLE)), yes)
OPT_DEFS += -DPRINTING_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c
SRC += $(TMK_DIR)/protocol/serial_uart.c
endif
ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
OPT_DEFS += $(SERIAL_DEFS)
VAPTH += $(SERIAL_PATH)
endif
ifneq ($(strip $(VARIABLE_TRACE)),)
SRC += $(QUANTUM_DIR)/variable_trace.c
OPT_DEFS += -DNUM_TRACED_VARIABLES=$(strip $(VARIABLE_TRACE))
ifneq ($(strip $(MAX_VARIABLE_TRACE_SIZE)),)
OPT_DEFS += -DMAX_VARIABLE_TRACE_SIZE=$(strip $(MAX_VARIABLE_TRACE_SIZE))
endif
endif
ifeq ($(strip $(LCD_ENABLE)), yes)
CIE1931_CURVE = yes
endif
ifeq ($(strip $(LED_ENABLE)), yes)
CIE1931_CURVE = yes
endif
ifeq ($(strip $(CIE1931_CURVE)), yes)
OPT_DEFS += -DUSE_CIE1931_CURVE
LED_TABLES = yes
endif
ifeq ($(strip $(LED_BREATHING_TABLE)), yes)
OPT_DEFS += -DUSE_LED_BREATHING_TABLE
LED_TABLES = yes
endif
ifeq ($(strip $(LED_TABLES)), yes)
SRC += $(QUANTUM_DIR)/led_tables.c
endif
# Optimize size but this may cause error "relocation truncated to fit"
#EXTRALDFLAGS = -Wl,--relax
@ -262,9 +132,10 @@ endif
VPATH += $(KEYBOARD_PATH)
VPATH += $(COMMON_VPATH)
include common_features.mk
include $(TMK_PATH)/protocol.mk
include $(TMK_PATH)/common.mk
SRC += $(TMK_COMMON_SRC)
OPT_DEFS += $(TMK_COMMON_DEFS)
EXTRALDFLAGS += $(TMK_COMMON_LDFLAGS)

View File

@ -40,13 +40,23 @@ VPATH +=\
all: elf
VPATH += $(COMMON_VPATH)
PLATFORM:=TEST
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include tests/$(TEST)/rules.mk
endif
include common_features.mk
include $(TMK_PATH)/common.mk
include $(QUANTUM_PATH)/serial_link/tests/rules.mk
ifneq ($(filter $(FULL_TESTS),$(TEST)),)
include build_full_test.mk
endif
$(TEST_OBJ)/$(TEST)_SRC := $($(TEST)_SRC)
$(TEST_OBJ)/$(TEST)_INC := $($(TEST)_INC) $(VPATH) $(GTEST_INC)
$(TEST_OBJ)/$(TEST)_DEFS := $($(TEST)_DEFS)
$(TEST_OBJ)/$(TEST)_CONFIG := $($(TEST)_CONFIG)
include $(TMK_PATH)/native.mk
include $(TMK_PATH)/rules.mk

View File

@ -11,17 +11,10 @@ QUANTUM_PATH = $(TOP_DIR)/$(QUANTUM_DIR)
BUILD_DIR := $(TOP_DIR)/.build
SERIAL_DIR := $(QUANTUM_DIR)/serial_link
SERIAL_PATH := $(QUANTUM_PATH)/serial_link
SERIAL_SRC := $(wildcard $(SERIAL_PATH)/protocol/*.c)
SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
SERIAL_DEFS += -DSERIAL_LINK_ENABLE
COMMON_VPATH := $(TOP_DIR)
COMMON_VPATH += $(TMK_PATH)
COMMON_VPATH += $(QUANTUM_PATH)
COMMON_VPATH += $(QUANTUM_PATH)/keymap_extras
COMMON_VPATH += $(QUANTUM_PATH)/audio
COMMON_VPATH += $(QUANTUM_PATH)/process_keycode
COMMON_VPATH += $(QUANTUM_PATH)/api
COMMON_VPATH += $(SERIAL_PATH)
COMMON_VPATH += $(QUANTUM_PATH)/api

153
common_features.mk Normal file
View File

@ -0,0 +1,153 @@
# Copyright 2017 Fred Sundvik
#
# 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/>.
SERIAL_DIR := $(QUANTUM_DIR)/serial_link
SERIAL_PATH := $(QUANTUM_PATH)/serial_link
SERIAL_SRC := $(wildcard $(SERIAL_PATH)/protocol/*.c)
SERIAL_SRC += $(wildcard $(SERIAL_PATH)/system/*.c)
SERIAL_DEFS += -DSERIAL_LINK_ENABLE
COMMON_VPATH += $(SERIAL_PATH)
ifeq ($(strip $(API_SYSEX_ENABLE)), yes)
OPT_DEFS += -DAPI_SYSEX_ENABLE
SRC += $(QUANTUM_DIR)/api/api_sysex.c
OPT_DEFS += -DAPI_ENABLE
SRC += $(QUANTUM_DIR)/api.c
MIDI_ENABLE=yes
endif
MUSIC_ENABLE := 0
ifeq ($(strip $(AUDIO_ENABLE)), yes)
OPT_DEFS += -DAUDIO_ENABLE
MUSIC_ENABLE := 1
SRC += $(QUANTUM_DIR)/process_keycode/process_audio.c
SRC += $(QUANTUM_DIR)/audio/audio.c
SRC += $(QUANTUM_DIR)/audio/voices.c
SRC += $(QUANTUM_DIR)/audio/luts.c
endif
ifeq ($(strip $(MIDI_ENABLE)), yes)
OPT_DEFS += -DMIDI_ENABLE
MUSIC_ENABLE := 1
SRC += $(QUANTUM_DIR)/process_keycode/process_midi.c
endif
ifeq ($(MUSIC_ENABLE), 1)
SRC += $(QUANTUM_DIR)/process_keycode/process_music.c
endif
ifeq ($(strip $(COMBO_ENABLE)), yes)
OPT_DEFS += -DCOMBO_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_combo.c
endif
ifeq ($(strip $(VIRTSER_ENABLE)), yes)
OPT_DEFS += -DVIRTSER_ENABLE
endif
ifeq ($(strip $(FAUXCLICKY_ENABLE)), yes)
OPT_DEFS += -DFAUXCLICKY_ENABLE
SRC += $(QUANTUM_DIR)/fauxclicky.c
endif
ifeq ($(strip $(UCIS_ENABLE)), yes)
OPT_DEFS += -DUCIS_ENABLE
UNICODE_COMMON = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_ucis.c
endif
ifeq ($(strip $(UNICODEMAP_ENABLE)), yes)
OPT_DEFS += -DUNICODEMAP_ENABLE
UNICODE_COMMON = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_unicodemap.c
endif
ifeq ($(strip $(UNICODE_ENABLE)), yes)
OPT_DEFS += -DUNICODE_ENABLE
UNICODE_COMMON = yes
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode.c
endif
ifeq ($(strip $(UNICODE_COMMON)), yes)
SRC += $(QUANTUM_DIR)/process_keycode/process_unicode_common.c
endif
ifeq ($(strip $(RGBLIGHT_ENABLE)), yes)
OPT_DEFS += -DRGBLIGHT_ENABLE
SRC += $(QUANTUM_DIR)/light_ws2812.c
SRC += $(QUANTUM_DIR)/rgblight.c
CIE1931_CURVE = yes
LED_BREATHING_TABLE = yes
endif
ifeq ($(strip $(TAP_DANCE_ENABLE)), yes)
OPT_DEFS += -DTAP_DANCE_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_tap_dance.c
endif
ifeq ($(strip $(PRINTING_ENABLE)), yes)
OPT_DEFS += -DPRINTING_ENABLE
SRC += $(QUANTUM_DIR)/process_keycode/process_printer.c
SRC += $(TMK_DIR)/protocol/serial_uart.c
endif
ifeq ($(strip $(SERIAL_LINK_ENABLE)), yes)
SRC += $(patsubst $(QUANTUM_PATH)/%,%,$(SERIAL_SRC))
OPT_DEFS += $(SERIAL_DEFS)
VAPTH += $(SERIAL_PATH)
endif
ifneq ($(strip $(VARIABLE_TRACE)),)
SRC += $(QUANTUM_DIR)/variable_trace.c
OPT_DEFS += -DNUM_TRACED_VARIABLES=$(strip $(VARIABLE_TRACE))
ifneq ($(strip $(MAX_VARIABLE_TRACE_SIZE)),)
OPT_DEFS += -DMAX_VARIABLE_TRACE_SIZE=$(strip $(MAX_VARIABLE_TRACE_SIZE))
endif
endif
ifeq ($(strip $(LCD_ENABLE)), yes)
CIE1931_CURVE = yes
endif
ifeq ($(strip $(BACKLIGHT_ENABLE)), yes)
ifeq ($(strip $(VISUALIZER_ENABLE)), yes)
CIE1931_CURVE = yes
endif
endif
ifeq ($(strip $(CIE1931_CURVE)), yes)
OPT_DEFS += -DUSE_CIE1931_CURVE
LED_TABLES = yes
endif
ifeq ($(strip $(LED_BREATHING_TABLE)), yes)
OPT_DEFS += -DUSE_LED_BREATHING_TABLE
LED_TABLES = yes
endif
ifeq ($(strip $(LED_TABLES)), yes)
SRC += $(QUANTUM_DIR)/led_tables.c
endif
QUANTUM_SRC:= \
$(QUANTUM_DIR)/quantum.c \
$(QUANTUM_DIR)/keymap_common.c \
$(QUANTUM_DIR)/keycode_config.c \
$(QUANTUM_DIR)/process_keycode/process_leader.c
ifndef CUSTOM_MATRIX
QUANTUM_SRC += $(QUANTUM_DIR)/matrix.c
endif

31
docs/_summary.md Normal file
View File

@ -0,0 +1,31 @@
### Getting started
* [Introduction](home.md)
* [QMK Overview](qmk_overview.md)
* [Build Environment Setup](build_environment_setup.md)
* [Make instructions](make_instructions.md)
### Making a keymap
* [Keymap overview](keymap.md)
* [Custom Quantum Functions](custom_quantum_functions.md)
* [Keycodes](keycodes.md)
* [Layer switching](key_functions.md)
* [Leader Key](leader_key.md)
* [Macros](macros.md)
* [Dynamic Macros](dynamic_macros.md)
* [Space Cadet](space_cadet_shift.md)
* [Tap Dance](tap_dance.md)
* [Mouse keys](mouse_keys.md)
* [FAQ: Creating a Keymap](faq_keymap.md)
* [FAQ: Compiling QMK](faq_build.md)
### For hardware makers and modders
* [Adding a keyboard to QMK](adding_a_keyboard_to_qmk.md)
* [Porting your keyboard to QMK](porting_your_keyboard_to_qmk.md)
* [Modding your keyboard](modding_your_keyboard.md)
* [Adding features to QMK](adding_features_to_qmk.md)
* [ISP flashing guide](isp_flashing_guide.md)
### Other topics
* [General FAQ](faq.md)
* [Differences from TMK](differences_from_tmk.md)

View File

@ -0,0 +1,35 @@
# Adding your keyboard to QMK
We welcome all keyboard projects into QMK, but ask that you try to stick to a couple guidelines that help us keep things organised and consistent.
## Naming your directory/project
All names should be lowercase alphanumeric, and separated by an underscore (`_`), but not begin with one. Dashes (`-`) aren't allow by our build system, and will confuse it with keymaps/subprojects. Your directory and your `.h` and `.c` files should have exactly the same name. Subprojects/revision should follow the same format.
## `readme.md`
All projects need to have a `readme.md` file that explains what the keyboard is, who made it, where it is available, and links to move information (template coming).
## Image/Hardware files
In an effort to keep the repo size down, we're no longer accepting images of any format in the repo, with few exceptions. Hosting them elsewhere (imgur) and linking them in the readme.md is the preferred method.
Any sort of hardware file (plate, case, pcb) can't be stored in qmk_firmware, but we have the [qmk.fm repo](https://github.com/qmk/qmk.fm) where such files (as well as in-depth info) can be store, and viewed on [qmk.fm](http://qmk.fm). Downloadable files are stored in `/<keyboard>/` (name follows the same format as above) which are served at `http://qmk.fm/<keyboard>/`, and pages are generated from `/_pages/<keyboard>/` which are served at the same location (.md files are generated into .html files through Jekyll). Check out the `lets_split` directory for an example.
## Non-production/handwired projects
We're happy to accept any project that uses QMK, including prototypes and handwired ones, but we have a separate `/keyboards/handwired/` folder for them, so the main `/keyboards/` folder doesn't get overcrowded. If a prototype project becomes a production project at some point in the future, we'd be happy to move it to the main `/keyboards/` folder!
## Warnings as errors
When developing your keyboard, keep in mind that all warnings will be treated as errors - these small warnings can build-up and cause larger errors down the road (and keeping them is generally a bad practice).
## Licenses
If you're adapting your keyboard's setup from another project, but not using the same code, but sure to update the copyright header at the top of the files to show your name, it this format:
Copyright 2017 Your Name <your@email.com>
## Technical details
If you're looking for more information on making your keyboard work with QMK, [check out this guide](porting_your_keyboard_to_qmk.md)!

View File

@ -0,0 +1,7 @@
If you have an idea for a custom feature or extra hardware connection, we'd love to accept it into QMK! These are generally done via [pull request](https://github.com/qmk/qmk_firmware/pulls) after forking, and here are some things to keep in mind when creating one:
* **Disable by default** - memory is a pretty limited on most chips QMK supports, and it's important that current keymaps aren't broken, so please allow your feature to be turned **on**, rather than being turned off. If you think it should be on by default, or reduces the size of the code, [open an issue](https://github.com/qmk/qmk_firmware/issues) for everyone to discuss it!
* **Compile locally before submitting** - hopefully this one is obvious, but things need to compile! Our Travis system will catch any issues, but it's generally faster for you to compile a few keyboards locally instead of waiting for the results to come back.
* **Consider subprojects and different chip-bases** - there are several keyboards that have subprojects that have allow for slightly different configurations, and even different chip-bases. Try to make a feature supported in ARM and AVR, or automatically disabled in one that doesn't work.
* **Explain your feature** - submitting a markdown write-up of what your feature does with your PR may be needed, and it will allow a collaborator to easily copy it into the wiki for documentation (after proofing and editing).
* **Don't refactor code** - to maintain a clear vision of how things are laid out in QMK, we try to plan out refactors in-depth, and have a collaborator make the changes. If you have an idea for refactoring, or suggestions, [open an issue](https://github.com/qmk/qmk_firmware/issues).

View File

@ -0,0 +1,7 @@
A QMK collaborator is a keyboard maker/designer that is interested in helping QMK grow and fully support their keyboard(s), and encouraging their users/customers to submit features, ideas, and keymaps. We're always looking to add more keyboards and collaborators, but we ask that they fulfill these requirements:
* **Have a PCB available for sale** - unfortunately there's just too much variation and complications with handwired keyboards.
* **Maintain the your keyboard's directory** - this may just require an initial setup to get your keyboard working, but it could also include accommodating changes made to QMK's core.
* **Approve and merge your keyboard's keymap pull requests** - we like to encourage users to contribute their keymaps for others to see and work from when creating their own.
If you feel you meet these requirements, shoot us an email at hello@qmk.fm with an introduction and some links to your keyboard!

View File

@ -0,0 +1,119 @@
### Windows 10
#### Creators Update
If you have Windows 10 with Creators Update or later, you can build and flash the firmware directly. Before the Creators Update, only building was possible. If you don't have it yet or if are unsure, follow [these instructions](https://support.microsoft.com/en-us/instantanswers/d4efb316-79f0-1aa1-9ef3-dcada78f3fa0/get-the-windows-10-creators-update).
#### Windows Subsystem for Linux
In addition to the Creators Update, you need Windows 10 Subystem for Linux, so install it following [these instructions](http://www.howtogeek.com/249966/how-to-install-and-use-the-linux-bash-shell-on-windows-10/). If you already have the Windows 10 Subsystem for Linux from the Anniversary update it's recommended that you [upgrade](https://betanews.com/2017/04/14/upgrade-windows-subsystem-for-linux/) it to 16.04LTS, because some keyboards don't compile with the toolchains included in 14.04LTS. Note that you need to know what your are doing if you chose the `sudo do-release-upgrade` method.
#### Git
If you already have cloned the repository on your Windows file system you can ignore this section.
You will need to clone the repository to your Windows file system using the normal Git for Windows and **not** the WSL Git. So if you haven't installed Git before, [download](https://git-scm.com/download/win) and install it. Then [set it up](https://git-scm.com/book/en/v2/Getting-Started-First-Time-Git-Setup), it's important that you setup the e-mail and user name, especially if you are planning to contribute.
Once Git is installed, open the Git bash command and change the directory to where you want to clone QMK, note that you have to use forward slashes, and that your c drive is accessed like this `/c/path/to/where/you/want/to/go`. Then run `git clone --recurse-submodules https://github.com/qmk/qmk_firmware`, this will create a new folder `qmk_firmware` as a subfolder of the current one.
#### Toolchain setup
The Toolchain setup is done through the Windows Subsystem for Linux, and the process is fully automated. If you want to do everything manually, there are no other instructions than the scripts themselves, but you can always open issues and ask for more information.
1. Open "Bash On Ubuntu On Windows" from the start menu.
2. Go to the directory where you cloned `qmk_firmware`. Note that the paths start with `/mnt/` in the WSL, so you have to write for example `cd /mnt/c/path/to/qmk_firmware`.
3. Run `util/wsl_install.sh` and follow the on-screen instructions.
4. Close the Bash command window, and re-open it.
5. You are ready to compile and flash the firmware!
#### Some important things to keep in mind
* You can run `util/wsl_install.sh` again to get all the newest updates.
* Your QMK repository need to be on a Windows file system path, since WSL can't run executables outside it.
* The WSL Git is **not** compatible with the Windows Git, so use the Windows Git Bash or a windows Git GUI for all Git operations
* You can edit files either inside WSL or normally using Windows, but note that if you edit makefiles or shell scripts, make sure you are using an editor that saves the files with Unix line endings. Otherwise the compilation might not work.
### Windows (Vista and later)
1. If you have ever installed WinAVR, uninstall it.
2. Install [MHV AVR Tools](https://infernoembedded.com/sites/default/files/project/MHV_AVR_Tools_20131101.exe). Disable smatch, but **be sure to leave the option to add the tools to the PATH checked**.
3. If you are going to flash Infinity based keyboards you will need to install dfu-util, refer to the instructions by [Input Club](https://github.com/kiibohd/controller/wiki/Loading-DFU-Firmware).
4. Install [MinGW](https://sourceforge.net/projects/mingw/files/Installer/mingw-get-setup.exe/download). During installation, uncheck the option to install a graphical user interface. **DO NOT change the default installation folder.** The scripts depend on the default location.
5. Clone this repository. [This link will download it as a zip file, which you'll need to extract.](https://github.com/qmk/qmk_firmware/archive/master.zip) Open the extracted folder in Windows Explorer.
6. Open the `\util` folder.
7. Double-click on the `1-setup-path-win` batch script to run it. You'll need to accept a User Account Control prompt. Press the spacebar to dismiss the success message in the command prompt that pops up.
8. Right-click on the `2-setup-environment-win` batch script, select "Run as administrator", and accept the User Account Control prompt. This part may take a couple of minutes, and you'll need to approve a driver installation, but once it finishes, your environment is complete!
If you have trouble and want to ask for help, it is useful to generate a *Win_Check_Output.txt* file by running `Win_Check.bat` in the `\util` folder.
### Mac
If you're using [homebrew,](http://brew.sh/) you can use the following commands:
brew tap osx-cross/avr
brew install avr-libc
brew install dfu-programmer
This is the recommended method. If you don't have homebrew, [install it!](http://brew.sh/) It's very much worth it for anyone who works in the command line. Note that the `make` and `make install` portion during the homebrew installation of avr-libc can take over 20 minutes and exhibit high CPU usage.
You can also try these instructions:
1. Install Xcode from the App Store.
2. Install the Command Line Tools from `Xcode->Preferences->Downloads`.
3. Install [DFU-Programmer](https://dfu-programmer.github.io/).
If you are going to flash Infinity based keyboards you will also need dfu-util
brew install dfu-util
### Linux
To ensure you are always up to date, you can just run `sudo util/install_dependencies.sh`. That should always install all the dependencies needed. **This will run `apt-get upgrade`.**
You can also install things manually, but this documentation might not be always up to date with all requirements.
The current requirements are the following, but not all might be needed depending on what you do. Also note that some systems might not have all the dependencies available as packages, or they might be named differently.
```
build-essential
gcc
unzip
wget
zip
gcc-avr
binutils-avr
avr-libc
dfu-programmer
dfu-util
gcc-arm-none-eabi
binutils-arm-none-eabi
libnewlib-arm-none-eabi
git
```
Install the dependencies with your favorite package manager.
Debian/Ubuntu example:
sudo apt-get update
sudo apt-get install gcc unzip wget zip gcc-avr binutils-avr avr-libc dfu-programmer dfu-util gcc-arm-none-eabi binutils-arm-none-eabi libnewlib-arm-none-eabi
### Docker
If this is a bit complex for you, Docker might be the turn-key solution you need. After installing [Docker](https://www.docker.com/products/docker), run the following command at the root of the QMK folder to build a keyboard/keymap:
```bash
# You'll run this every time you want to build a keymap
# modify the keymap and keyboard assigment to compile what you want
# defaults are ergodox/default
docker run -e keymap=gwen -e subproject=ez -e keyboard=ergodox --rm -v $('pwd'):/qmk:rw edasque/qmk_firmware
# On windows docker seems to have issue with VOLUME tag in Dockerfile, and $('pwd') won't print a windows compliant path, use full path instead like this
docker run -e keymap=default -e subproject=ez -e keyboard=ergobox --rm -v D:/Users/Sacapuces/Documents/Repositories/qmk:/qmk:rw edasque/qmk_firmware
```
This will compile the targeted keyboard/keymap and leave it in your QMK directory for you to flash.
### Vagrant
If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [vagrant guide](vagrant_guide.md).
## Verify Your Installation
1. If you haven't already, obtain this repository ([https://github.com/qmk/qmk_firmware](https://github.com/qmk/qmk_firmware)). You can either download it as a zip file and extract it, or clone it using the command line tool git or the Github Desktop application.
2. Open up a terminal or command prompt and navigate to the `qmk_firmware` folder using the `cd` command. The command prompt will typically open to your home directory. If, for example, you cloned the repository to your Documents folder, then you would type `cd Documents/qmk_firmware`. If you extracted the file from a zip, then it may be named `qmk_firmware-master` instead.
3. To confirm that you're in the correct location, you can display the contents of your current folder using the `dir` command on Windows, or the `ls` command on Linux or Mac. You should see several files, including `readme.md` and a `quantum` folder. From here, you need to navigate to the appropriate folder under `keyboards/`. For example, if you're building for a Planck, run `cd keyboards/planck`.
4. Once you're in the correct keyboard-specific folder, run the `make` command. This should output a lot of information about the build process. More information about the `make` command can be found below.

View File

@ -35,7 +35,7 @@ Debian/Ubuntu example:
sudo apt-get install gcc-avr avr-libc dfu-programmer
### Vagrant
If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [VAGRANT_GUIDE file](VAGRANT_GUIDE.md).
If you have any problems building the firmware, you can try using a tool called Vagrant. It will set up a virtual computer with a known configuration that's ready-to-go for firmware building. OLKB does NOT host the files for this virtual computer. Details on how to set up Vagrant are in the [vagrant guide](vagrant_guide.md).
## Verify Your Installation
1. If you haven't already, obtain this repository ([https://github.com/qmk/qmk_firmware](https://github.com/qmk/qmk_firmware)). You can either download it as a zip file and extract it, or clone it using the command line tool git or the Github Desktop application.

View File

@ -1,7 +1,7 @@
Build Firmware and Program Controller
=====================================
## This guide may be out-dated - use doc/BUILD_GUIDE.md instead
## This guide may be out-dated - use [build_guide.md](build_guide.md) instead
Download and Install
--------------------

View File

@ -0,0 +1,25 @@
# Atmel AVR
QMK should run on any Atmel AVR processor with enough Flash. It has been tested on the following:
* ATmega32U4 ([PJRC Teensy 2.0](http://www.pjrc.com/teensy/))
* AT90USB1286 ([PJRC Teensy++ 2.0](http://www.pjrc.com/teensy/))
* AT90USB1287 ([Atmel USBKEY](http://www.atmel.com/tools/AT90USBKEY.aspx))
* ATmega168P with using [V-USB](http://www.obdev.at/products/vusb/index.html)
* ATmega328P with using [V-USB](http://www.obdev.at/products/vusb/index.html)
* ATmega32U2
* AT90USB1286, 646, 647 should work
* AT90USB162 testing...
NOTE: To enable full features of firmware you'll need 32KB flash size.
Please add any tested microcontrollers to this list.
# ARM
You can also use any ARM processor that [ChibiOS](http://www.chibios.org) supports. The following processors have been tested:
* [Kinetis MKL26Z64](http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/l-series-ultra-low-power-m0-plus/kinetis-kl2x-48-mhz-usb-ultra-low-power-microcontrollers-mcus-based-on-arm-cortex-m0-plus-core:KL2x)
* [Kinetis MK20DX128](http://www.nxp.com/assets/documents/data/en/data-sheets/K20P64M50SF0.pdf)
* [Kinetis MK20DX128](http://www.nxp.com/assets/documents/data/en/data-sheets/K20P64M50SF0.pdf)
* [Kinetis MK20DX256](http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/k-series-performance-m4/k2x-usb/kinetis-k20-72-mhz-full-speed-usb-mixed-signal-integration-microcontrollers-mcus-based-on-arm-cortex-m4-core:K20_72)

View File

@ -0,0 +1,123 @@
A custom keyboard is about more than sending button presses to your computer. QMK has designed hooks to allow you to inject code, override functionality, and otherwise customize how your keyboard responds in different situations.
## A Word on Keyboards vs Keymap
We have structured QMK as a hierarchy:
* Core (`_quantum`)
* Keyboard/Revision (`_kb`)
* Keymap (`_user`)
Each of the functions described below can be defined with a `_kb()` suffix or an `_user()` suffix. We intend for you to use the `_kb()` suffix at the Keyboard/Revision level, while the `_user()` suffix should be used at the Keymap level.
When defining functions at the Keyboard/Revision level it is important that your `_kb()` implementation call `_user()` before executing anything else- otherwise the keymap level function will never be called.
## Matrix Initialization Code
* Keyboard/Revision: `void matrix_init_kb(void)`
* Keymap: `void matrix_init_user(void)`
This function gets called when the matrix is initiated. You should use this function to initialize any custom hardware you may have, such as speakers, LED drivers, or other features which need to be setup after the keyboard powers on.
### Example
```
void matrix_init_kb(void) {
// put your keyboard start-up code here
// runs once when the firmware starts up
matrix_init_user();
// JTAG disable for PORT F. write JTD bit twice within four cycles.
MCUCR |= (1<<JTD);
MCUCR |= (1<<JTD);
// * Set our LED pins as output
DDRB |= (1<<0);
DDRB |= (1<<1);
DDRB |= (1<<2);
DDRB |= (1<<3);
DDRB |= (1<<4);
}
```
## Matrix Scanning Code
* Keyboard/Revision: `void matrix_scan_kb(void)`
* Keymap: `void matrix_scan_user(void)`
This function gets called at every matrix scan, which is basically as often as the MCU can handle. Be careful what you put here, as it will get run a lot.
You should use this function if you need custom matrix scanning code. It can also be used for custom status output (such as LED's or a display) or other functionality that you want to trigger regularly even when the user isn't typing.
## Hook Into Key Presses
* Keyboard/Revision: `bool process_record_kb(uint16_t keycode, keyrecord_t *record)`
* Keymap: `bool process_record_user(uint16_t keycode, keyrecord_t *record)`
This function gets called every time a key is pressed or released. This is particularly useful when defining custom keys or overriding the behavior of existing keys.
The return value is whether or not QMK should continue processing the keycode - returning `false` stops the execution.
The `keycode` variable is whatever is defined in your keymap, eg `MO(1)`, `KC_L`, etc. and can be switch-cased to execute code whenever a particular code is pressed.
The `record` variable contains infomation about the actual press:
```
keyrecord_t record {
+-keyevent_t event {
| +-keypos_t key {
| | +-uint8_t col
| | +-uint8_t row
| | }
| +-bool pressed
| +-uint16_t time
| }
}
```
The conditional `if (record->event.pressed)` can tell if the key is being pressed or released, and you can execute code based on that.
## LED Control
* Keyboard/Revision: `void led_set_kb(uint8_t usb_led)`
* Keymap: `void led_set_user(uint8_t usb_led)`
This allows you to control the 5 LED's defined as part of the USB Keyboard spec. It will be called when the state of one of those 5 LEDs changes.
* `USB_LED_NUM_LOCK`
* `USB_LED_CAPS_LOCK`
* `USB_LED_SCROLL_LOCK`
* `USB_LED_COMPOSE`
* `USB_LED_KANA`
### Example:
```
void led_set_kb(uint8_t usb_led) {
if (usb_led & (1<<USB_LED_NUM_LOCK)) {
PORTB |= (1<<0);
} else {
PORTB &= ~(1<<0);
}
if (usb_led & (1<<USB_LED_CAPS_LOCK)) {
PORTB |= (1<<1);
} else {
PORTB &= ~(1<<1);
}
if (usb_led & (1<<USB_LED_SCROLL_LOCK)) {
PORTB |= (1<<2);
} else {
PORTB &= ~(1<<2);
}
if (usb_led & (1<<USB_LED_COMPOSE_LOCK)) {
PORTB |= (1<<3);
} else {
PORTB &= ~(1<<3);
}
if (usb_led & (1<<USB_LED_KANA_LOCK)) {
PORTB |= (1<<4);
} else {
PORTB &= ~(1<<4);
}
}
```

0
doc/CYGWIN_GUIDE.md → docs/cygwin_guide.md Executable file → Normal file
View File

View File

@ -0,0 +1,7 @@
Understanding the essential changes made on the [tmk_keyboard firmware](http://github.com/tmk/tmk_keyboard) should help you understand the QMK Firmware.
| Firmware |TMK |QMK |
|------------------------------|-----------------------|-------------------------|
| Maintainer |hasu (@tmk) |Jack Humbert et al. |
| Build path customization | `TMK_DIR = ...` | `include .../Makefile` |
| `keymaps` array data | 3D array of `uint8_t` holding **keycode** | 3D array of `uint16_t` holding **keycode** |

63
docs/dynamic_macros.md Normal file
View File

@ -0,0 +1,63 @@
# Dynamic macros: record and replay macros in runtime
QMK supports temporarily macros created on the fly. We call these Dynamic Macros. They are defined by the user from the keyboard and are lost when the keyboard is unplugged or otherwise rebooted.
You can store one or two macros and they may have a combined total of 128 keypresses. You can increase this size at the cost of RAM.
To enable them, first add a new element to the `planck_keycodes` enum — `DYNAMIC_MACRO_RANGE`:
```c
enum planck_keycodes {
QWERTY = SAFE_RANGE,
COLEMAK,
DVORAK,
PLOVER,
LOWER,
RAISE,
BACKLIT,
EXT_PLV,
DYNAMIC_MACRO_RANGE,
};
```
It must be the last element because `dynamic_macros.h` will add some more keycodes after it.
Below it include the `dynamic_macro.h` header:
```c
#include "dynamic_macro.h"`
```
Add the following keys to your keymap:
* `DYN_REC_START1` — start recording the macro 1,
* `DYN_REC_START2` — start recording the macro 2,
* `DYN_MACRO_PLAY1` — replay the macro 1,
* `DYN_MACRO_PLAY2` — replay the macro 2,
* `DYN_REC_STOP` — finish the macro that is currently being recorded.
Add the following code to the very beginning of your `process_record_user()` function:
```c
if (!process_record_dynamic_macro(keycode, record)) {
return false;
}
```
That should be everything necessary. To start recording the macro, press either `DYN_REC_START1` or `DYN_REC_START2`. To finish the recording, press the `DYN_REC_STOP` layer button. To replay the macro, press either `DYN_MACRO_PLAY1` or `DYN_MACRO_PLAY2`.
Note that it's possible to replay a macro as part of a macro. It's ok to replay macro 2 while recording macro 1 and vice versa but never create recursive macros i.e. macro 1 that replays macro 1. If you do so and the keyboard will get unresponsive, unplug the keyboard and plug it again.
For users of the earlier versions of dynamic macros: It is still possible to finish the macro recording using just the layer modifier used to access the dynamic macro keys, without a dedicated `DYN_REC_STOP` key. If you want this behavior back, use the following snippet instead of the one above:
```c
uint16_t macro_kc = (keycode == MO(_DYN) ? DYN_REC_STOP : keycode);
if (!process_record_dynamic_macro(macro_kc, record)) {
return false;
}
```
If the LED's start blinking during the recording with each keypress, it means there is no more space for the macro in the macro buffer. To fit the macro in, either make the other macro shorter (they share the same buffer) or increase the buffer size by setting the `DYNAMIC_MACRO_SIZE` preprocessor macro (default value: 128; please read the comments for it in the header).
For the details about the internals of the dynamic macros, please read the comments in the `dynamic_macro.h` header.

84
docs/eclipse.md Normal file
View File

@ -0,0 +1,84 @@
[Eclipse](https://en.wikipedia.org/wiki/Eclipse_(software)) is an open-source [Integrated Development Environment](https://en.wikipedia.org/wiki/Integrated_development_environment) (IDE) widely used for Java development, but with an extensible plugin system that allows to customize it for other languages and usages.
Using an IDE such as Eclipse provides many advantages over a plain text editor, such as:
* intelligent code completion
* convenient navigation in the code
* refactoring tools
* build automation (no need for the command-line)
* a GUI for GIT
* static code analysis
* many other tools such as debugging, code formatting, showing call hierarchies etc.
The purpose of the is page is to document how to set-up Eclipse for developing AVR software, and working on the QMK code base.
Note that this set-up has been tested on Ubuntu 16.04 only for the moment.
# Prerequisites
## Build environment
Before starting, you must have followed the [Getting Started](home.md#getting-started) section corresponding to your system. In particular, you must have been able to build the firmware with [the `make` command](../#the-make-command).
## Java
Eclipse is a Java application, so you will need to install Java 8 or more recent to be able to run it. You may choose between the JRE or the JDK, the latter being useful if you intend to do Java development.
# Install Eclipse and its plugins
Eclipse comes in [several flavours](http://www.eclipse.org/downloads/eclipse-packages/) depending on the target usage that you will have. There is no package comprising the AVR stack, so we will need to start from Eclipse CDT (C/C++ Development Tooling) and install the necessary plugins.
## Download and install Eclipse CDT
If you already have Eclipse CDT on your system, you can skip this step. However it is advised to keep it up-to-date for better support.
If you have another Eclipse package installed, it is normally possible to [install the CDT plugin over it](https://eclipse.org/cdt/downloads.php). However it is probably better to reinstall it from scratch to keep it light and avoid the clutter of tools that you don't need for the projects you will be working on.
Installation is very simple: follow the [5 Steps to Install Eclipse](https://eclipse.org/downloads/eclipse-packages/?show_instructions=TRUE), and choose **Eclipse IDE for C/C++ Developers** at Step 3.
Alternatively, you can also directly [download Eclipse IDE for C/C++ Developers](http://www.eclipse.org/downloads/eclipse-packages/) ([direct link to current version](http://www.eclipse.org/downloads/packages/eclipse-ide-cc-developers/neonr)) and extract the package to the location of your choice (this creates an `eclipse` folder).
## First Launch
When installation is complete, click the <kbd>Launch</kbd> button. (If you extracted the package manually, open the Eclipse installation folder and double-click the `eclipse` executable)
When you are prompted with the Workspace Selector, select a directory that will hold Eclipse metadata and usually your projects. **Do not select the `qmk_firmware` directory**, this will be the project directory. Select the parent folder instead, or another (preferably empty) folder of your choice (the default is fine if you do not use it yet).
Once started, click the <kbd>Workbench</kbd> button at the top right to switch to the workbench view (there is a also checkbox at the bottom to skip the welcome screen at startup).
## Install the necessary plugins
Note: you do not need to restart Eclipse after installing each plugin. Simply restart once all plugins are installed.
### [The AVR plugin](http://avr-eclipse.sourceforge.net/)
This is the most important plugin as it will allow Eclipse to _understand_ AVR C code. Follow [the instructions for using the update site](http://avr-eclipse.sourceforge.net/wiki/index.php/Plugin_Download#Update_Site), and agree with the security warning for unsigned content.
### [ANSI Escape in Console](https://marketplace.eclipse.org/content/ansi-escape-console)
This plugin is necessary to properly display the colored build output generated by the QMK makefile.
1. Open <kbd><kbd>Help</kbd> > <kbd>Eclipse Marketplace…</kbd></kbd>
2. Search for _ANSI Escape in Console_
3. Click the <samp>Install</samp> button of the plugin
4. Follow the instructions and agree again with the security warning for unsigned content.
Once both plugins are installed, restart Eclipse as prompted.
# Configure Eclipse for QMK
## Importing the project
1. Click <kbd><kbd>File</kbd> > <kbd>New</kbd> > <kbd>Makefile Project with Existing Code</kbd></kbd>
2. On the next screen:
* Select the directory where you cloned the repository as _Existing Code Location_;
* (Optional) Give a different name to the project¹, e.g. _QMK_ or _Quantum_;
* Select the _AVR-GCC Toolchain_;
* Keep the rest as-is and click <kbd>Finish</kbd>
![Importing QMK in Eclipse](http://i.imgur.com/oHYR1yW.png)
3. The project will now be loaded and indexed. Its files can be browsed easily through the _Project Explorer_ on the left.
¹ There might be issues for importing the project with a custom name. If it does not work properly, try leaving the default project name (i.e. the name of the directory, probably `qmk_firmware`).
## Build your keyboard
We will now configure a make target that cleans the project and builds the keymap of your choice.
1. On the right side of the screen, select the <kbd>Make Target</kbd> tab
2. Expand the folder structure to the keyboard of your choice, e.g. `qmk_firmware/keyboards/ergodox`
3. Right-click on the keyboard folder and select <kbd>New…</kbd> (or select the folder and click the <kbd>New Make Target</kbd> icon above the tree)
4. Choose a name for your build target, e.g. _clean \<your keymap\>_
5. Make Target: this is the arguments that you give to `make` when building from the command line. If your target name does not match these arguments, uncheck <kbd>Same as target name</kbd> and input the correct arguments, e.g. `clean <your keymap>`
6. Leave the other options checked and click <kbd>OK</kbd>. Your make target will now appear under the selected keyboard.
7. (Optional) Toggle the <kbd>Hide Empty Folders</kbd> icon button above the targets tree to only show your build target.
8. Double-click the build target you created to trigger a build.
9. Select the <kbd>Console</kbd> view at the bottom to view the running build.

64
docs/embedding.md Normal file
View File

@ -0,0 +1,64 @@
# WARNING: Until issue [#173](https://github.com/tmk/tmk_keyboard/issues/173) goes through, the [core][1] repository will not be up-to-date with the latest changes and fixes, but can still be used.
If you want to use TMK for your own keyboard project, you've got three options for embedding the [core][1].
The recommended option is [subtrees](#1-git-subtree).
After adding the embed you'll need to [modify the Makefile](#modifications-to-the-makefile) of your project to point to the core correctly.
## 1. git subtree
In order to set up the subtree in your project, first add the core repository as a remote:
```
git remote add -f core https://github.com/tmk/tmk_core
```
Then add the core as a subtree (directory) in your local repository:
```
git subtree add -P tmk_core core master --squash
```
And that's it!
When you want to update the subtree in your repository to match the master on [tmk_core][1], do this:
```
git subtree pull -P tmk_core core master --squash
```
## 2. git submodule
In order to set up the submodule in your project, first add a new submodule:
```
git submodule add https://github.com/tmk/tmk_core tmk_core
```
Then pull, sync and update the submodule:
```
git pull
git submodule sync --recursive
git submodule update --init --recursive
```
And that's it!
When you want to update the subtree in your repository to match the master on [tmk_core][1], follow the same steps as above.
If you want to clone a repository from GitHub that has submodule(s) in it, pass <kbd>--recursive</kbd> when cloning, like so:
`git clone --recursive https://github.com/<username>/<repository>`
## 3. Manually (without git)
*Note: This is not recommended in any way, but it's still possible.*
Download a zipped version of the [tmk_core][1] repository using this link:
<https://github.com/tmk/tmk_core/archive/master.zip>
Extract the zip in your project's directory, then rename the folder to <kbd>tmk_core</kbd>.
## Modifications to the *Makefile*
The one thing you have to make sure to change in the *Makefile* (compared to [tmk_keyboard](https://github.com/tmk/tmk_keyboard) drivers' *[Makefile](https://github.com/tmk/tmk_keyboard/blob/master/keyboard/gh60/Makefile#L45)*) is the "TMK_DIR" variable, which needs to point to the embed directory:
```Makefile
TMK_DIR = ./tmk_core
```
[1]: https://github.com/tmk/tmk_core

238
docs/faq.md Normal file
View File

@ -0,0 +1,238 @@
## READ FIRST
- **README** of top directory : https://github.com/tmk/tmk_keyboard/blob/master/README.md
- **README** of target project(keyboard/converter) directory.
Note that you'll need to read **both**.
# Build
- [[FAQ/Build]]
# Keymap
- [[FAQ/Keymap]]
# Debug Console
## hid_listen can't recognize device
When debug console of your device is not ready you will see like this:
Waiting for device:.........
once the device is pluged in then *hid_listen* finds it you will get this message:
Waiting for new device:.........................
Listening:
Check if you can't get this 'Listening:' message:
- build with `CONSOLE_ENABLE=yes` in **Makefile**.
You may need privilege to access the device on OS like Linux.
- try `sudo hid_listen`
## Can't get message on console
Check:
- *hid_listen* finds your device. See above.
- Enable debug with pressing **Magic**+d. See [Magic Commands](https://github.com/tmk/tmk_keyboard#magic-commands).
- set `debug_enable=true` usually in `matrix_init()` in **matrix.c**.
- try using 'print' function instead of debug print. See **common/print.h**.
- disconnect other devices with console function. See [Issue #97](https://github.com/tmk/tmk_keyboard/issues/97).
## Linux or UNIX like system requires Super User privilege
Just use 'sudo' to execute *hid_listen* with privilege.
```
$ sudo hid_listen
```
Or add an *udev rule* for TMK devices with placing a file in rules directory. The directory may vary on each system.
File: /etc/udev/rules.d/52-tmk-keyboard.rules(in case of Ubuntu)
```
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
```
***
# Miscellaneous
## NKRO Doesn't work
First you have to compile frimware with this build option `NKRO_ENABLE` in **Makefile**.
Try `Magic` **N** command(`LShift+RShift+N` by default) when **NKRO** still doesn't work. You can use this command to toggle between **NKRO** and **6KRO** mode temporarily. In some situations **NKRO** doesn't work you need to switch to **6KRO** mode, in particular when you are in BIOS.
If your firmeare built with `BOOTMAGIC_ENABLE` you need to turn its switch on by `BootMagic` **N** command(`Space+N` by default). This setting is stored in EEPROM and keeped over power cycles.
https://github.com/tmk/tmk_keyboard#boot-magic-configuration---virtual-dip-switch
## TrackPoint needs reset circuit(PS/2 mouse support)
Without reset circuit you will have inconsistent reuslt due to improper initialize of the hardware. See circuit schematic of TPM754.
- http://geekhack.org/index.php?topic=50176.msg1127447#msg1127447
- http://www.mikrocontroller.net/attachment/52583/tpm754.pdf
## Can't read column of matrix beyond 16
Use `1UL<<16` instead of `1<<16` in `read_cols()` in **matrix.h** when your columns goes beyond 16.
In C `1` means one of **int** type which is **16bit** in case of AVR so you can't shift left more than 15. You will get unexpected zero when you say `1<<16`. You have to use **unsigned long** type with `1UL`.
http://deskthority.net/workshop-f7/rebuilding-and-redesigning-a-classic-thinkpad-keyboard-t6181-60.html#p146279
## Pull-up Resistor
In some case converters needed to have pull-up resistors to work correctly. Place the resistor between VCC and signal line in parallel.
For example:
```
Keyboard Conveter
,------.
5V------+------|VCC |
| | |
R | |
| | |
Signal--+------|PD0 |
| |
GND------------|GND |
`------'
R: 1K Ohm resistor
```
https://github.com/tmk/tmk_keyboard/issues/71
## Arduino Micro's pin naming is confusing
Note that Arduino Micro PCB marking is different from real AVR port name. D0 of Arduino Micro is not PD0, PD0 is D3. Check schematic yourself.
http://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
## Bootloader jump doesn't work
Properly configure bootloader size in **Makefile**. With wrong section size bootloader won't probably start with **Magic command** and **Boot Magic**.
```
# Size of Bootloaders in bytes:
# Atmel DFU loader(ATmega32U4) 4096
# Atmel DFU loader(AT90USB128) 8192
# LUFA bootloader(ATmega32U4) 4096
# Arduino Caterina(ATmega32U4) 4096
# USBaspLoader(ATmega***) 2048
# Teensy halfKay(ATmega32U4) 512
# Teensy++ halfKay(AT90USB128) 2048
OPT_DEFS += -DBOOTLOADER_SIZE=4096
```
AVR Boot section size are defined by setting **BOOTSZ** fuse in fact. Consult with your MCU datasheet.
Note that **Word**(2 bytes) size and address are used in datasheet while TMK uses **Byte**.
AVR Boot section is located at end of Flash memory like the followings.
```
byte Atmel/LUFA(ATMega32u4) byte Atmel(AT90SUB1286)
0x0000 +---------------+ 0x00000 +---------------+
| | | |
| | | |
| Application | | Application |
| | | |
= = = =
| | 32KB-4KB | | 128KB-8KB
0x6000 +---------------+ 0x1E000 +---------------+
| Bootloader | 4KB | Bootloader | 8KB
0x7FFF +---------------+ 0x1FFFF +---------------+
byte Teensy(ATMega32u4) byte Teensy++(AT90SUB1286)
0x0000 +---------------+ 0x00000 +---------------+
| | | |
| | | |
| Application | | Application |
| | | |
= = = =
| | 32KB-512B | | 128KB-2KB
0x7E00 +---------------+ 0x1FC00 +---------------+
| Bootloader | 512B | Bootloader | 2KB
0x7FFF +---------------+ 0x1FFFF +---------------+
```
And see this discussion for further reference.
https://github.com/tmk/tmk_keyboard/issues/179
## Special Extra key doesn't work(System, Audio control keys)
You need to define `EXTRAKEY_ENABLE` in **makefile** to use them in TMK.
```
EXTRAKEY_ENABLE = yes # Audio control and System control
```
http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-60.html#p157919
## Wakeup from sleep doesn't work
In Windows check `Allow this device to wake the computer` setting in Power **Management property** tab of **Device Manager**. Also check BIOS setting.
Pressing any key during sleep should wake host.
## Using Arduino?
**Note that Arduino pin naming is different from actual chip.** For example, Arduino pin `D0` is not `PD0`. Check circuit with its schematics yourself.
- http://arduino.cc/en/uploads/Main/arduino-leonardo-schematic_3b.pdf
- http://arduino.cc/en/uploads/Main/arduino-micro-schematic.pdf
Arduino leonardo and micro have **ATMega32U4** and can be used for TMK, though Arduino bootloader may be a problem.
## Using PF4-7 pins of USB AVR?
You need to set JTD bit of MCUCR yourself to use PF4-7 as GPIO. Those pins are configured to serve JTAG function by default. MCUs like ATMega*U* or AT90USB* are affeteced with this.
If you are using Teensy this isn't needed. Teensy is shipped with JTAGEN fuse bit unprogrammed to disable the function.
See this code.
```
// JTAG disable for PORT F. write JTD bit twice within four cycles.
MCUCR |= (1<<JTD);
MCUCR |= (1<<JTD);
```
https://github.com/tmk/tmk_keyboard/blob/master/keyboard/hbkb/matrix.c#L67
And read **26.5.1 MCU Control Register MCUCR** of ATMega32U4 datasheet.
## Adding LED indicators of Lock keys
You need your own LED indicators for CapsLock, ScrollLock and NumLock? See this post.
http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-120.html#p191560
## Program Arduino Micro/Leonardo
Push reset button and then run command like this within 8 seconds.
```
avrdude -patmega32u4 -cavr109 -b57600 -Uflash:w:adb_usb.hex -P/dev/ttyACM0
```
Device name will vary depending on your system.
http://arduino.cc/en/Main/ArduinoBoardMicro
https://geekhack.org/index.php?topic=14290.msg1563867#msg1563867
## USB 3 compatibility
I heard some people have a problem with USB 3 port, try USB 2 port.
## Mac compatibility
### OS X 10.11 and Hub
https://geekhack.org/index.php?topic=14290.msg1884034#msg1884034
## Problem on BIOS(UEFI)/Resume(Sleep&Wake)/Power cycles
Some people reported their keyboard stops working on BIOS and/or after resume(power cycles).
As of now root of its cause is not clear but some build options seem to be related. In Makefile try to disable those options like `CONSOLE_ENABLE`, `NKRO_ENABLE`, `SLEEP_LED_ENABLE` and/or others.
https://github.com/tmk/tmk_keyboard/issues/266
https://geekhack.org/index.php?topic=41989.msg1967778#msg1967778
## FLIP doesn't work
### AtLibUsbDfu.dll not found
Remove current driver and reinstall one FLIP provides from DeviceManager.
http://imgur.com/a/bnwzy

151
docs/faq_build.md Normal file
View File

@ -0,0 +1,151 @@
## READ FIRST
- https://github.com/qmk/qmk_firmware/blob/master/docs/build_guide.md
In short,
$ make [-f Makefile.<variant>] [KEYMAP=...] clean
$ make [-f Makefile.<variant>] [KEYMAP=...]
$ make [-f Makefile.<variant>] [KEYMAP=...] dfu
## Can't program on Linux and Mac
You will need proper permission to operate a device. For Linux users see udev rules below.
Easy way is to use `sudo` command, if you are not familiar with this command check its manual with `man sudo` or this page on line.
https://developer.apple.com/library/mac/documentation/Darwin/Reference/ManPages/man8/sudo.8.html
In short when your controller is ATMega32u4,
$ sudo dfu-programmer atmega32u4 erase --force
$ sudo dfu-programmer atmega32u4 flash your.hex
$ sudo dfu-programmer atmega32u4 reset
or just
$ sudo make dfu
But to run `make` with root privilege is not good idea. Use former method as possible.
## Do 'make clean' before 'make'
You'll need `make clean` after you edit **config.h** or change options like `KEYMAP`.
Frist remove all files made in previous build,
$ make clean
then build new firmware.
$ make [KEYMAP=...]
Also you can always try `make clean` when you get other strange result during build.
## WINAVR is obsolete
It is no longer recommended and may cause some problem.
See [Issue #99](https://github.com/tmk/tmk_keyboard/issues/99).
## USB stack: LUFA or PJRC?
Use **LUFA**.
**PJRC** stack won't be supported actively anymore. There is no reason to hesitate to use LUFA except for binary size(about 1KB lager?). But **PJRC** is still very useful for debug and development purpose.
See also [Issue #50](https://github.com/tmk/tmk_keyboard/issues/50) and [Issue #58](https://github.com/tmk/tmk_keyboard/issues/58).
## Edit configuration but not change
You will need followings after editing `CONSOLE_ENABLE`, `NKRO_ENABLE`, `EXTRAKEY_ENABLE` or `MOUSEKEY_ENABLE` option in **Makefile**.
### 1. make clean
This will be needed when you edit **config.h**.
### 2. Remove Drivers from Device Manager(Windows)
**Windows only.** Linux, OSX and other OS's doesn't require this. It looks like Windows keeps using driver installed when device was connected first time even after the device changes its configuration. To load proper drivers for new configuration you need to remove existent drivers from **Drvice Manager**.
### 3. Build with different VID:PID
**Windows only.** If method 2. does't work fou you try this. Change Vendor ID or Product ID in **config.h** and build firmware. Windows should recognize it as whole new device and start drivers install process.
### 4. Just try other ports
This will be useful and the easiest workaround for **Windows**.
## USB VID and PID
You can use any ID you want with editing `config.h`. Using any presumably unused ID will be no problem in fact except for very least chance of collision with other product.
For example TMK uses following numbers by default.
```
keyboard:
hhkb: FEED:CAFE
gh60: FEED:6060
converter:
x68k: FEED:6800
ps2: FEED:6512
adb: FEED:0ADB
ibm4704: FEED:4704
pc98: FEED:9898
```
Also see this.
https://github.com/tmk/tmk_keyboard/issues/150
You can buy a really unique VID:PID here. I don't think you need this for personal use.
- http://www.obdev.at/products/vusb/license.html
- http://www.mcselec.com/index.php?page=shop.product_details&flypage=shop.flypage&product_id=92&option=com_phpshop&Itemid=1
## Linux udev rules
On Linux you need proper privilege to access device file of MCU, you'll have to use `sudo` when flashing firmware. You can circumvent this with placing these files in `/etc/udev/rules.d/`.
**/etc/udev/rules.d/50-atmel-dfu.rules:**
```
# Atmel ATMega32U4
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff4", MODE:="0666"
# Atmel USBKEY AT90USB1287
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ffb", MODE:="0666"
# Atmel ATMega32U2
SUBSYSTEMS=="usb", ATTRS{idVendor}=="03eb", ATTRS{idProduct}=="2ff0", MODE:="0666"
```
**/etc/udev/rules.d/52-tmk-keyboard.rules:**
```
# tmk keyboard products https://github.com/tmk/tmk_keyboard
SUBSYSTEMS=="usb", ATTRS{idVendor}=="feed", MODE:="0666"
```
## Cortex: cstddef: No such file or directory
GCC 4.8 of Ubuntu 14.04 had this problem and had to update to 4.9 with this PPA.
https://launchpad.net/~terry.guo/+archive/ubuntu/gcc-arm-embedded
https://github.com/tmk/tmk_keyboard/issues/212
https://github.com/tmk/tmk_keyboard/wiki/mbed-cortex-porting#compile-error-cstddef
https://developer.mbed.org/forum/mbed/topic/5205/
## 'clock_prescale_set' and 'clock_div_1' not available
Your toolchain is too old to support the MCU. For example WinAVR 20100110 doesn't support ATMega32u2.
```
Compiling C: ../../tmk_core/protocol/lufa/lufa.c
avr-gcc -c -mmcu=atmega32u2 -gdwarf-2 -DF_CPU=16000000UL -DINTERRUPT_CONTROL_ENDPOINT -DBOOTLOADER_SIZE=4096 -DF_USB=16000000UL -DARCH=ARCH_AVR8 -DUSB_DEVICE_ONLY -DUSE_FLASH_DESCRIPTORS -DUSE_STATIC_OPTIONS="(USB_DEVICE_OPT_FULLSPEED | USB_OPT_REG_ENABLED | USB_OPT_AUTO_PLL)" -DFIXED_CONTROL_ENDPOINT_SIZE=8 -DFIXED_NUM_CONFIGURATIONS=1 -DPROTOCOL_LUFA -DEXTRAKEY_ENABLE -DCONSOLE_ENABLE -DCOMMAND_ENABLE -DVERSION=unknown -Os -funsigned-char -funsigned-bitfields -ffunction-sections -fdata-sections -fno-inline-small-functions -fpack-struct -fshort-enums -fno-strict-aliasing -Wall -Wstrict-prototypes -Wa,-adhlns=obj_alps64/protocol/lufa/lufa.lst -I. -I../../tmk_core -I../../tmk_core/protocol/lufa -I../../tmk_core/protocol/lufa/LUFA-git -I../../tmk_core/common -std=gnu99 -include config.h -MMD -MP -MF .dep/obj_alps64_protocol_lufa_lufa.o.d ../../tmk_core/protocol/lufa/lufa.c -o obj_alps64/protocol/lufa/lufa.o
../../tmk_core/protocol/lufa/lufa.c: In function 'setup_mcu':
../../tmk_core/protocol/lufa/lufa.c:575: warning: implicit declaration of function 'clock_prescale_set'
../../tmk_core/protocol/lufa/lufa.c:575: error: 'clock_div_1' undeclared (first use in this function)
../../tmk_core/protocol/lufa/lufa.c:575: error: (Each undeclared identifier is reported only once
../../tmk_core/protocol/lufa/lufa.c:575: error: for each function it appears in.)
make: *** [obj_alps64/protocol/lufa/lufa.o] Error 1
```
## BOOTLOADER_SIZE for AVR
Note that Teensy2.0++ bootloader size is 2048byte. Some Makefiles may have wrong comment.
```
# Boot Section Size in *bytes*
# Teensy halfKay 512
# Teensy++ halfKay 2048
# Atmel DFU loader 4096 (TMK Alt Controller)
# LUFA bootloader 4096
# USBaspLoader 2048
OPT_DEFS += -DBOOTLOADER_SIZE=2048
```

265
docs/faq_keymap.md Normal file
View File

@ -0,0 +1,265 @@
## READ FIRST
https://github.com/tmk/tmk_core/blob/master/doc/keymap.md
## How to get keycode
See [Keycodes](Keycodes). Keycodes are actually defined in [common/keycode.h](https://github.com/qmk/qmk_firmware/blob/master/tmk_core/common/keycode.h).
## Sysrq key
Use keycode for Print Screen(`KC_PSCREEN` or `KC_PSCR`) instead of `KC_SYSREQ`. Key combination of 'Alt + Print Screen' is recognized as 'System request'.
See [issue #168](https://github.com/tmk/tmk_keyboard/issues/168) and
- http://en.wikipedia.org/wiki/Magic_SysRq_key
- http://en.wikipedia.org/wiki/System_request
## Power key doesn't work
Use `KC_PWR` instead of `KC_POWER` or vice versa.
- `KC_PWR` works with Windows and Linux, not with OSX.
- `KC_POWER` works with OSX and Linux, not with Windows.
http://geekhack.org/index.php?topic=14290.msg1327264#msg1327264
## Oneshot modifier
Solves my personal 'the' problem. I often got 'the' or 'THe' wrongly instead of 'The'. Oneshot Shift mitgates this for me.
https://github.com/tmk/tmk_keyboard/issues/67
## Modifier/Layer stuck
Modifier keys or layers can be stuck unless layer switching is configured properly.
For Modifier keys and layer actions you have to place `KC_TRANS` on same position of destination layer to unregister the modifier key or return to previous layer on release event.
- https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#31-momentary-switching
- http://geekhack.org/index.php?topic=57008.msg1492604#msg1492604
- https://github.com/tmk/tmk_keyboard/issues/248
## Mechanical Lock Switch Support
https://github.com/tmk/tmk_keyboard#mechanical-locking-support
This feature is for *mechanical lock switch* like this Alps one.
http://deskthority.net/wiki/Alps_SKCL_Lock
Using enabling this feature and using keycodes `LCAP`, `LNUM` or `LSCR` in keymap you can use physical locking CapsLock, NumLock or ScrollLock keys as you expected.
Old vintage mechanical keyboards occasionally have lock switches but modern ones don't have. ***You don't need this feature in most case and just use keycodes `CAPS`, `NLCK` and `SLCK`.***
## Input special charactors other than ASCII like Cédille 'Ç'
NO UNIVERSAL METHOD TO INPUT THOSE WORKS OVER ALL SYSTEMS. You have to define **MACRO** in way specific to your OS or layout.
See this post for example **MACRO** code.
http://deskthority.net/workshop-f7/tmk-keyboard-firmware-collection-t4478-120.html#p195620
On **Windows** you can use `AltGr` key or **Alt code**.
- http://en.wikipedia.org/wiki/AltGr_key
- http://en.wikipedia.org/wiki/Alt_code
On **Mac** OS defines `Option` key combinations.
- http://en.wikipedia.org/wiki/Option_key#Alternative_keyboard_input
On **Xorg** you can use `compose` key, instead.
- http://en.wikipedia.org/wiki/Compose_key
And see this for **Unicode** input.
- http://en.wikipedia.org/wiki/Unicode_input
## Apple/Mac keyboard Fn
Not supported.
Apple/Mac keyboard sends keycode for Fn unlike most of other keyboards.
I think you can send Apple Fn key using Apple venter specific Page 0xff01 and usage 0x0003. But you have to change HID Report Descriptor for this, of course.
https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/AppleHIDUsageTables.h
## Media control keys in Mac OSX
#### KC_MNXT and KC_MPRV does not work on Mac
Use `KC_MFFD`(`KC_MEDIA_FAST_FORWARD`) and `KC_MRWD`(`KC_MEDIA_REWIND`) instead of `KC_MNXT` and `KC_MPRV`.
See https://github.com/tmk/tmk_keyboard/issues/195
## Keys supported in Mac OSX?
You can know which keycodes are supported in OSX from this source code.
`usb_2_adb_keymap` array maps Keyboard/Keypad Page usages to ADB scancodes(OSX internal keycodes).
https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/Cosmo_USB2ADB.c
And `IOHIDConsumer::dispatchConsumerEvent` handles Consumer page usages.
https://opensource.apple.com/source/IOHIDFamily/IOHIDFamily-606.1.7/IOHIDFamily/IOHIDConsumer.cpp
## JIS keys in Mac OSX
Japanese JIS keyboard specific keys like `無変換(Muhenkan)`, `変換(Henkan)`, `ひらがな(hiragana)` are not recognized on OSX. You can use **Seil** to enable those keys, try following options.
* Enable NFER Key on PC keyboard
* Enable XFER Key on PC keyboard
* Enable KATAKANA Key on PC keyboard
https://pqrs.org/osx/karabiner/seil.html
## RN-42 Bluetooth doesn't work with Karabiner
Karabiner - Keymapping tool on Mac OSX - ignores inputs from RN-42 module by default. You have to enable this option to make Karabiner working with your keyboard.
https://github.com/tekezo/Karabiner/issues/403#issuecomment-102559237
See these for the deail of this problem.
https://github.com/tmk/tmk_keyboard/issues/213
https://github.com/tekezo/Karabiner/issues/403
## Esc and `~ on a key
You can define FC660 and Poker style ESC with `ACTION_LAYER_MODS`.
https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#35-momentary-switching-with-modifiers
```
#include "keymap_common.h"
/* Leopold FC660
* https://elitekeyboards.com/products.php?sub=leopold,compact&pid=fc660c
* Shift + Esc = ~
* Fn + Esc = `
*
* Votex Poker II
* https://adprice.fedorapeople.org/poker2_manual.pdf
* Fn + Esc = `
* Fn + Shift + Esc = ~
*/
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
[0] = KEYMAP( \
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS,BSPC, \
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
FN0, NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH,RSFT,ESC, \
LCTL,LGUI,LALT, SPC, RALT,FN1, RGUI,RCTL),
[1] = KEYMAP( \
GRV, TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,\
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
[2] = KEYMAP( \
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,\
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS, TRNS, TRNS,TRNS,TRNS,TRNS),
};
const uint16_t PROGMEM fn_actions[] = {
// https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#35-momentary-switching-with-modifiers
[0] = ACTION_LAYER_MODS(1, MOD_LSFT),
[1] = ACTION_LAYER_MOMENTARY(2),
};
```
Otherwise, you can write code, see this.
https://github.com/p3lim/keyboard_firmware/commit/fd799c12b69a5ab5addd1d4c03380a1b8ef8e9dc
## 32 Fn keys are not enough?
### actionmap
It uses 16 bit codes and has no limitation of 32 Fn at the expense of memory space. TMK keymap is actually is 8 bit codes as subset of the actionmap.
https://github.com/tmk/tmk_keyboard/issues?utf8=%E2%9C%93&q=is%3Aissue+actionmap
### extension for modified keys
https://geekhack.org/index.php?topic=41989.msg1885526#msg1885526
## Arrow on Right Modifier keys with Dual-Role
This turns right modifer keys into arrow keys when the keys are tapped while still modifiers when the keys are hold. In TMK the dual-role function is dubbed **TAP**.
```
#include "keymap_common.h"
/* Arrow keys on right modifier keys with TMK dual role feature
*
* https://github.com/tmk/tmk_core/blob/master/doc/keymap.md#213-modifier-with-tap-keydual-role
* https://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys
*/
const uint8_t PROGMEM keymaps[][MATRIX_ROWS][MATRIX_COLS] = {
/* 0: qwerty */
[0] = KEYMAP( \
ESC, 1, 2, 3, 4, 5, 6, 7, 8, 9, 0, MINS,EQL, NUHS,BSPC, \
TAB, Q, W, E, R, T, Y, U, I, O, P, LBRC,RBRC,BSLS, \
LCTL,A, S, D, F, G, H, J, K, L, SCLN,QUOT,ENT, \
LSFT,NUBS,Z, X, C, V, B, N, M, COMM,DOT, SLSH,FN0, ESC, \
FN4, LGUI,LALT, SPC, APP, FN2, FN1, FN3),
[1] = KEYMAP( \
GRV, F1, F2, F3, F4, F5, F6, F7, F8, F9, F10, F11, F12, TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,\
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS, \
TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,TRNS,FN5, TRNS, \
TRNS,TRNS,TRNS, TRNS, TRNS,FN7, FN6, FN8),
};
const uint16_t PROGMEM fn_actions[] = {
[0] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_UP),
[1] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_DOWN),
[2] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_LEFT),
[3] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_RIGHT),
[4] = ACTION_LAYER_MOMENTARY(1),
[5] = ACTION_MODS_TAP_KEY(MOD_RSFT, KC_PGUP),
[6] = ACTION_MODS_TAP_KEY(MOD_RGUI, KC_PGDN),
[7] = ACTION_MODS_TAP_KEY(MOD_RALT, KC_HOME),
[8] = ACTION_MODS_TAP_KEY(MOD_RCTL, KC_END),
};
```
Dual-role key: https://en.wikipedia.org/wiki/Modifier_key#Dual-role_keys
## Eject on Mac OSX
`EJCT` keycode works on OSX. https://github.com/tmk/tmk_keyboard/issues/250
It seems Windows 10 ignores the code and Linux/Xorg recognizes but has no mapping by default.
Not sure what keycode Eject is on genuine Apple keyboard actually. HHKB uses `F20` for Eject key(`Fn+f`) on Mac mode but this is not same as Apple Eject keycode probably.
## What's weak_mods and real_mods in action_util.c
___TO BE IMPROVED___
real_mods is intended to retains state of real/physical modifier key state, while
weak_mods retains state of virtual or temprary modifiers which should not affect state real modifier key.
Let's say you hold down physical left shift key and type ACTION_MODS_KEY(LSHIFT, KC_A),
with weak_mods,
* (1) hold down left shift: real_mods |= MOD_BIT(LSHIFT)
* (2) press ACTION_MODS_KEY(LSHIFT, KC_A): weak_mods |= MOD_BIT(LSHIFT)
* (3) release ACTION_MODS_KEY(LSHIFT, KC_A): waek_mods &= ~MOD_BIT(LSHIFT)
real_mods still keeps modifier state.
without weak mods,
* (1) hold down left shift: real_mods |= MOD_BIT(LSHIFT)
* (2) press ACTION_MODS_KEY(LSHIFT, KC_A): real_mods |= MOD_BIT(LSHIFT)
* (3) release ACTION_MODS_KEY(LSHIFT, KC_A): real_mods &= ~MOD_BIT(LSHIFT)
here real_mods lost state for 'physical left shift'.
weak_mods is ORed with real_mods when keyboard report is sent.
https://github.com/tmk/tmk_core/blob/master/common/action_util.c#L57
## Timer functionality
It's possible to start timers and read values for time-specific events - here's an example:
```c
static uint16_t key_timer;
key_timer = timer_read();
if (timer_elapsed(key_timer) < 100) {
// do something if less than 100ms have passed
} else {
// do something if 100ms or more have passed
}
```
It's best to declare the `static uint16_t key_timer;` at the top of the file, outside of any code blocks you're using it in.

Some files were not shown because too many files have changed in this diff Show More