qmk-keychron-q3-colemak-dh/keyboards/handwired/arrow_pad
James Young 84ea77ead6
Remove BOOTMAGIC_ENABLE = lite option (#15002)
* remove BOOTMAGIC_ENABLE=lite setting

* change keyboard BOOTMAGIC_ENABLE rules

Edits keyboard-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keyboard BOOTMAGIC_ENABLE inline comments

Edits keyboard-level BOOTMAGIC_ENABLE inline comments to "Enable Bootmagic Lite".

* change keymap BOOTMAGIC_ENABLE rules

Edits keymap-level instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

* change keymap BOOTMAGIC_ENABLE inline comments

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* change layout/user BOOTMAGIC_ENABLE rules/comments

Edits instances of `BOOTMAGIC_ENABLE = lite` to `BOOTMAGIC_ENABLE = yes`.

Edits/adds keymap-level BOOTMAGIC_ENABLE inline comments to read "Enable Bootmagic Lite".

* update non-rules.mk BOOTMAGIC_ENABLE references in keyboards/

* remove docs references to Full Bootmagic

* convert data-driven Bootmagic Lite instances

* remove Bootmagic Lite bodge from data-driven generation

* Merge remote-tracking branch 'upstream/develop' into rm/bootmagic-full_q4a

* update docs/ja/config_options.md per mtei

* update docs/faq_misc.md per mtei

Remove remaining Full Bootmagic reference.
2021-11-05 08:18:09 +11:00
..
keymaps Remove BOOTMAGIC_ENABLE = lite option (#15002) 2021-11-05 08:18:09 +11:00
arrow_pad.c remove hardware files, move arrow pad 2017-06-18 12:33:14 -04:00
arrow_pad.h Change keyboard level include guards to pragma once (#14248) 2021-09-01 19:03:14 +10:00
config.h Merge remote-tracking branch 'upstream/master' into develop 2021-09-26 03:04:11 -07:00
info.json Remove width, height and key_count from info.json (#14274) 2021-09-12 14:04:56 +10:00
readme.md handwired/arrow_pad Refactor and Configurator support (#4498) 2018-11-26 20:57:15 -08:00
rules.mk Remove BOOTMAGIC_ENABLE = lite option (#15002) 2021-11-05 08:18:09 +11:00

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

The second ArrowPad was a conversion from a 21-key Genovation keypad. It used a 2 row x 11 column matrix.

#define LAYOUT_pad21( \
    KM_ESC, KM_TAB, KM_BSL, KM_ARR, \
    KM_NUM, KM_FSL, KM_AST, KM_MIN, \
    KM___7, KM___8, KM___9,         \
    KM___4, KM___5, KM___6, KM_PLS, \
    KM___1, KM___2, KM___3,         \
    KM___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.

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.

Depending on which keymap you would like to use, you will have to compile slightly differently.

Default

To build with the default keymap, simply run make handwired/arrow_pad:default.

Other Keymaps

Several version of keymap are available in advance but you are recommended to define your favorite layout yourself. To define your own keymap create file named <name>.c in the keymaps folder, and see keymap document (you can find in top readme.md) and existent keymap files.

To build the firmware binary hex file with a keymap just do make with a keymap like this:

$ make handwired/arrow_pad:[default|pad_21|pad_24|<name>]

Keymaps follow the format <name>.c and are stored in the keymaps folder.