diff options
Diffstat (limited to 'keyboards/converter/ibm_terminal/ibm_terminal.h')
-rw-r--r-- | keyboards/converter/ibm_terminal/ibm_terminal.h | 81 |
1 files changed, 81 insertions, 0 deletions
diff --git a/keyboards/converter/ibm_terminal/ibm_terminal.h b/keyboards/converter/ibm_terminal/ibm_terminal.h new file mode 100644 index 000000000..ce50e5f43 --- /dev/null +++ b/keyboards/converter/ibm_terminal/ibm_terminal.h | |||
@@ -0,0 +1,81 @@ | |||
1 | #pragma once | ||
2 | |||
3 | #include "quantum.h" | ||
4 | |||
5 | #define XXX KC_NO | ||
6 | |||
7 | void matrix_init_user(void); | ||
8 | |||
9 | /* | ||
10 | * IBM Terminal keyboard 6110345(122keys)/1392595(102keys) | ||
11 | * http://geekhack.org/showthread.php?10737-What-Can-I-Do-With-a-Terminal-Model-M | ||
12 | * http://www.seasip.info/VintagePC/ibm_1391406.html | ||
13 | * | ||
14 | * Keymap array: | ||
15 | * 8 bytes | ||
16 | * +---------+ | ||
17 | * 0| | | ||
18 | * :| | 0x00-0x87 | ||
19 | * ;| | | ||
20 | * 17| | | ||
21 | * +---------+ | ||
22 | */ | ||
23 | #define LAYOUT( \ | ||
24 | k08, k10, k18, k20, k28, k30, k38, k40, k48, k50, k57, k5F, \ | ||
25 | k07, k0F, k17, k1F, k27, k2F, k37, k3F, k47, k4F, k56, k5E, \ | ||
26 | \ | ||
27 | k05, k06, k0E, k16, k1E, k26, k25, k2E, k36, k3D, k3E, k46, k45, k4E, k55, k5D, k66, k67, k6E, k6F, k76, k77, k7E, k84, \ | ||
28 | k04, k0C, k0D, k15, k1D, k24, k2D, k2C, k35, k3C, k43, k44, k4D, k54, k5B, k5C, k64, k65, k6D, k6C, k75, k7D, k7C, \ | ||
29 | k03, k0B, k14, k1C, k1B, k23, k2B, k34, k33, k3B, k42, k4B, k4C, k52, k53, k5A, k63, k6B, k73, k74, k7B, \ | ||
30 | k83, k0A, k12, k13, k1A, k22, k21, k2A, k32, k31, k3A, k41, k49, k4A, k51, k59, k61, k62, k6A, k69, k72, k7A, k79, \ | ||
31 | k01, k09, k11, k19, k29, k39, k58, k60, k68, k70, k71, k78 \ | ||
32 | ) { \ | ||
33 | { XXX, k01, XXX, k03, k04, k05, k06, k07 }, \ | ||
34 | { k08, k09, k0A, k0B, k0C, k0D, k0E, k0F }, \ | ||
35 | { k10, k11, k12, k13, k14, k15, k16, k17 }, \ | ||
36 | { k18, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ | ||
37 | { k20, k21, k22, k23, k24, k25, k26, k27 }, \ | ||
38 | { k28, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ | ||
39 | { k30, k31, k32, k33, k34, k35, k36, k37 }, \ | ||
40 | { k38, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ | ||
41 | { k40, k41, k42, k43, k44, k45, k46, k47 }, \ | ||
42 | { k48, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ | ||
43 | { k50, k51, k52, k53, k54, k55, k56, k57 }, \ | ||
44 | { k58, k59, k5A, k5B, k5C, k5D, k5E, k5F }, \ | ||
45 | { k60, k61, k62, k63, k64, k65, k66, k67 }, \ | ||
46 | { k68, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \ | ||
47 | { k70, k71, k72, k73, k74, k75, k76, k77 }, \ | ||
48 | { k78, k79, k7A, k7B, k7C, k7D, k7E, XXX }, \ | ||
49 | { XXX, XXX, XXX, k83, k84, XXX, XXX, XXX } \ | ||
50 | } | ||
51 | |||
52 | /* | ||
53 | * IBM Terminal keyboard 1399625, 101-key | ||
54 | */ | ||
55 | #define LAYOUT_101( \ | ||
56 | k08, k07, k0F, k17, k1F, k27, k2F, k37, k3F, k47, k4F, k56, k5E, k57, k5F, k62, \ | ||
57 | \ | ||
58 | k0E, k16, k1E, k26, k25, k2E, k36, k3D, k3E, k46, k45, k4E, k55, k66, k67, k6E, k6F, k76, k77, k7E, k84, \ | ||
59 | k0D, k15, k1D, k24, k2D, k2C, k35, k3C, k43, k44, k4D, k54, k5B, k5C, k64, k65, k6D, k6C, k75, k7D, \ | ||
60 | k14, k1C, k1B, k23, k2B, k34, k33, k3B, k42, k4B, k4C, k52, k5A, k6B, k73, k74, k7C, \ | ||
61 | k12, k1A, k22, k21, k2A, k32, k31, k3A, k41, k49, k4A, k59, k63, k69, k72, k7A, \ | ||
62 | k11, k19, k29, k39, k58, k61, k60, k6A, k70, k71, k79 \ | ||
63 | ) { \ | ||
64 | { XXX, XXX, XXX, XXX, XXX, XXX, XXX, k07 }, \ | ||
65 | { k08, XXX, XXX, XXX, XXX, k0D, k0E, k0F }, \ | ||
66 | { XXX, k11, k12, XXX, k14, k15, k16, k17 }, \ | ||
67 | { XXX, k19, k1A, k1B, k1C, k1D, k1E, k1F }, \ | ||
68 | { XXX, k21, k22, k23, k24, k25, k26, k27 }, \ | ||
69 | { XXX, k29, k2A, k2B, k2C, k2D, k2E, k2F }, \ | ||
70 | { XXX, k31, k32, k33, k34, k35, k36, k37 }, \ | ||
71 | { XXX, k39, k3A, k3B, k3C, k3D, k3E, k3F }, \ | ||
72 | { XXX, k41, k42, k43, k44, k45, k46, k47 }, \ | ||
73 | { XXX, k49, k4A, k4B, k4C, k4D, k4E, k4F }, \ | ||
74 | { XXX, XXX, k52, XXX, k54, k55, k56, k57 }, \ | ||
75 | { k58, k59, k5A, k5B, k5C, XXX, k5E, k5F }, \ | ||
76 | { k60, k61, k62, k63, k64, k65, k66, k67 }, \ | ||
77 | { XXX, k69, k6A, k6B, k6C, k6D, k6E, k6F }, \ | ||
78 | { k70, k71, k72, k73, k74, k75, k76, k77 }, \ | ||
79 | { XXX, k79, k7A, XXX, k7C, k7D, k7E, XXX }, \ | ||
80 | { XXX, XXX, XXX, XXX, k84, XXX, XXX, XXX } \ | ||
81 | } | ||