diff options
91 files changed, 4262 insertions, 1480 deletions
diff --git a/.gitignore b/.gitignore index 07bbf13db1..153fea093c 100644 --- a/.gitignore +++ b/.gitignore @@ -29,3 +29,4 @@ CMakeLists.txt .idea .browse.VC.db* *.stackdump +util/Win_Check_Output.txt diff --git a/doc/VAGRANT_GUIDE.md b/doc/VAGRANT_GUIDE.md index c9958e16b5..439e78da7d 100644 --- a/doc/VAGRANT_GUIDE.md +++ b/doc/VAGRANT_GUIDE.md @@ -6,7 +6,8 @@ This project includes a Vagrantfile that will allow you to build a new firmware Using the `/Vagrantfile` in this repository requires you have [Vagrant](http://www.vagrantup.com/) as well as [VirtualBox](https://www.virtualbox.org/) (or [VMware Workstation](https://www.vmware.com/products/workstation) and [Vagrant VMware plugin](http://www.vagrantup.com/vmware) but the (paid) VMware plugin requires a licensed copy of VMware Workstation/Fusion). -*COMPATIBILITY NOTICE* Certain versions of Virtualbox 5 appear to have an incompatibility with the Virtualbox extensions installed in the boxes in this Vagrantfile. If you encounter any issues with the /vagrant mount not succeeding, please upgrade your version of Virtualbox to at least 5.0.12. +*COMPATIBILITY NOTICE* Certain versions of Virtualbox 5 appear to have an incompatibility with the Virtualbox extensions installed in the boxes in this Vagrantfile. If you encounter any issues with the /vagrant mount not succeeding, please upgrade your version of Virtualbox to at least 5.0.12. **Alternately, you can try running the following command:** `vagrant plugin install vagrant-vbguest` + Other than having Vagrant and Virtualbox installed and possibly a restart of your computer afterwards, you can simple run a 'vagrant up' anywhere inside the folder where you checked out this project and it will start a Linux virtual machine that contains all the tools required to build this project. There is a post Vagrant startup hint that will get you off on the right foot, otherwise you can also reference the build documentation below. diff --git a/keyboards/arrow_pad/readme.md b/keyboards/arrow_pad/readme.md index 2e9a64f2ef..d0d172272e 100644 --- a/keyboards/arrow_pad/readme.md +++ b/keyboards/arrow_pad/readme.md @@ -1,13 +1,120 @@ arrow_pad keyboard firmware ====================== +## Keyboard Info + +The ArrowPad is a wired conversion that can be made to any stand-alone keypad. It uses two main layers - a standard numpad, and a more advanced arrow cluster navigator. + +The first 24-key ArrowPad was handwired, but the PCB was wired as listed below. + +``` +<Chip Ref Des> pin <Pin #> +<Keycap Name> (Silkscreen Name if different) - <Switch Pin #> + + +Note: +U2 pin 2 is the Num Lock LED and is active low. + +U2 pin 1 +Clear (Num Lock) - 1 +Enter - 2 +Esc (ESC) - 2 + + +U2 pin 3 +- - 1 + +U2 pin 4 +7 - 2 +8 - 2 +9 - 2 + +U2 pin 5 +* - 2 +Delete (BACK SPACE) - 2 + +U2 pin 6 +1 - 2 +0 - 2 +. - 2 +, - 2 + +U2 pin 7 +4 - 2 +5 - 2 +6 - 2 + +U2 pin 8 +Tab - 2 += (/) - 2 + +U2 pin 13 +Delete (BACK SPACE) - 1 +9 - 1 +6 - 1 +3 - 1 +. - 1 + +U2 pin 14 +Tab - 1 +8 - 1 +5 - 1 +2 - 1 +0 - 1 + +U2 pin 15 +Esc (ESC) - 1 += (/) - 1 +/ (*) - 1 +7 - 1 +4 - 1 +1 - 1 ++ - 1 + +U2 pin 16 +Enter - 1 +* (<--) - 1 +, - 1 + +U2 pin 17 +Fn (#NAME?) - 1 +- - 2 +Clear (Num Lock) - 2 + +U2 pin 18 +Fn (#NAME?) - 2 +* (<--) - 2 ++ - 2 +3 - 2 +2 - 2 +``` + +More info can be found on [GeekHack](https://geekhack.org/index.php?topic=73632.msg1802497#msg1802497) + +The second ArrowPad was a conversion from a 21-key Genovation keypad. It used a 2 row x 11 column matrix. + +``` +#define KEYMAP( \ + KM_ESC, KM_TAB, KM_BSL, KM_ARR, \ + KM_NUM, KM_FSL, KM_AST, KM_MIN, \ + KM___7, KM___8, KM___9, ___PLS, \ + KM___4, KM___5, KM___6, KM_PLS, \ + KM___1, KM___2, KM___3, ___ENT, \ + KM___0, _____0, KM_DOT, KM_ENT \ +) { \ + { KM_ESC, KM_TAB, KM_BSL, KM_ARR, KM___7, KM___8, KM___9, KM_PLS, KM___1, KM___2, KM___3, }, \ + { KM_NUM, KM_FSL, KM_AST, KM_MIN, KM___4, KM___5, KM___6, KM_ENT, KC_NO, KM___0, KM_DOT, }, \ +} +``` + + ## Quantum MK Firmware For the full Quantum feature list, see [the parent readme.md](/readme.md). ## Building -Download or clone the whole firmware and navigate to the keyboards/arrow_pad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. +Download or clone the whole firmware and navigate to the keyboards/arrow_pad folder. Once your dev env is setup, you'll be able to type `make` to generate your .hex - you can then use the Teensy Loader to program your .hex file. Depending on which keymap you would like to use, you will have to compile slightly differently. @@ -20,7 +127,7 @@ Several version of keymap are available in advance but you are recommended to de To build the firmware binary hex file with a keymap just do `make` with a keymap like this: ``` -$ make [default|jack|<name>] +$ make [default|pad_21|pad_24|<name>] ``` -Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
\ No newline at end of file +Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder. diff --git a/keyboards/atomic/keymaps/pvc/Makefile b/keyboards/atomic/keymaps/pvc/Makefile index 278407e6c9..c7c04485fc 100644 --- a/keyboards/atomic/keymaps/pvc/Makefile +++ b/keyboards/atomic/keymaps/pvc/Makefile @@ -1,7 +1,7 @@ -BOOTMAGIC_ENABLE = yes # Virtual DIP switch configuration(+1000) +BOOTMAGIC_ENABLE = no # Virtual DIP switch configuration(+1000) MOUSEKEY_ENABLE = yes # Mouse keys(+4700) EXTRAKEY_ENABLE = yes # Audio control and System control(+450) -CONSOLE_ENABLE = no # Console for debug(+400) +CONSOLE_ENABLE = yes # Console for debug(+400) COMMAND_ENABLE = yes # Commands for debug and configuration NKRO_ENABLE = yes # Nkey Rollover - if this doesn't work, see here: https://github.com/tmk/tmk_keyboard/wiki/FAQ#nkro-doesnt-work BACKLIGHT_ENABLE = yes # Enable keyboard backlight functionality diff --git a/keyboards/atomic/keymaps/pvc/config.h b/keyboards/atomic/keymaps/pvc/config.h index 70353323b6..18a7253f2e 100644 --- a/keyboards/atomic/keymaps/pvc/config.h +++ b/keyboards/atomic/keymaps/pvc/config.h @@ -150,10 +150,17 @@ along with this program. If not, see <http://www.gnu.org/licenses/>. */ /* disable debug print */ -//#define NO_DEBUG +#ifndef NO_DEBUG +# define NO_DEBUG +#endif /* disable print */ -//#define NO_PRINT +// #ifndef NO_PRINT +// # define NO_PRINT +// #endif + +/* Only print user print statements */ +#define USER_PRINT /* disable action features */ //#define NO_ACTION_LAYER diff --git a/keyboards/atomic/keymaps/pvc/keymap.c b/keyboards/atomic/keymaps/pvc/keymap.c index b02e89d2c7..d10bfe3bfc 100644 --- a/keyboards/atomic/keymaps/pvc/keymap.c +++ b/keyboards/atomic/keymaps/pvc/keymap.c @@ -2,48 +2,59 @@ #include "action_layer.h" #include "eeconfig.h" #include "led.h" +#include "mousekey.h" #ifdef AUDIO_ENABLE #include "audio.h" #include "song_list.h" #endif -#define LAYER_QWERTY 0 -#define LAYER_COLEMAK 1 -#define LAYER_DVORAK 2 -#define LAYER_UPPER 3 -#define LAYER_LOWER 4 -#define LAYER_FUNCTION 5 -#define LAYER_MOUSE 6 -#define LAYER_ADJUST 7 - -#define MACRO_QWERTY 0 -#define MACRO_COLEMAK 1 -#define MACRO_DVORAK 2 -#define MACRO_UPPER 3 -#define MACRO_LOWER 4 -#define MACRO_FUNCTION 5 -#define MACRO_MOUSE 6 -#define MACRO_TIMBRE_1 7 -#define MACRO_TIMBRE_2 8 -#define MACRO_TIMBRE_3 9 -#define MACRO_TIMBRE_4 10 -#define MACRO_TEMPO_U 11 -#define MACRO_TEMPO_D 12 -#define MACRO_TONE_DEFAULT 13 -#define MACRO_MUSIC_TOGGLE 14 -#define MACRO_AUDIO_TOGGLE 16 -#define MACRO_INC_VOICE 18 -#define MACRO_DEC_VOICE 19 -#define MACRO_BACKLIGHT 20 -#define MACRO_BREATH_TOGGLE 21 -#define MACRO_BREATH_SPEED_INC 23 -#define MACRO_BREATH_SPEED_DEC 24 -#define MACRO_BREATH_DEFAULT 25 +enum keyboard_layers { + LAYER_QWERTY = 0, + LAYER_UPPER, + LAYER_LOWER, + LAYER_FUNCTION, + LAYER_MOUSE, + LAYER_ADJUST, +}; +enum keyboard_macros { + MACRO_QWERTY = 0, + MACRO_UPPER, + MACRO_LOWER, + MACRO_FUNCTION, + M |