mirror of
https://github.com/Keychron/qmk_firmware.git
synced 2024-12-28 20:18:49 +06:00
134 lines
2.7 KiB
Markdown
134 lines
2.7 KiB
Markdown
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.
|
|
|
|
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 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 [default|pad_21|pad_24|<name>]
|
|
```
|
|
|
|
Keymaps follow the format **__\<name\>.c__** and are stored in the `keymaps` folder.
|