aboutsummaryrefslogtreecommitdiffstats
path: root/keyboards/handwired/arrow_pad/readme.md
blob: d0d172272ee48de9e5afc7583b624737f1b728ec (plain) (blame)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
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.