Skip to content

Commit 247b6e3

Browse files
authored
Add APTv3 layout (#396)
1 parent 90308d2 commit 247b6e3

File tree

5 files changed

+126
-0
lines changed

5 files changed

+126
-0
lines changed
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,51 @@
1+
{
2+
"Backquote": "`~",
3+
"Digit1": "1!",
4+
"Digit2": "2@",
5+
"Digit3": "3#",
6+
"Digit4": "4$",
7+
"Digit5": "5%",
8+
"Digit6": "6^",
9+
"Digit7": "7&",
10+
"Digit8": "8*",
11+
"Digit9": "9(",
12+
"Digit0": "0)",
13+
"Minus": "-_",
14+
"Equal": "=+",
15+
"KeyQ": "wW",
16+
"KeyW": "gG",
17+
"KeyE": "dD",
18+
"KeyR": "fF",
19+
"KeyT": "bB",
20+
"KeyY": "qQ",
21+
"KeyU": "lL",
22+
"KeyI": "uU",
23+
"KeyO": "oO",
24+
"KeyP": "yY",
25+
"BracketLeft": "[{",
26+
"BracketRight": "]}",
27+
"Backslash": "\\|",
28+
"KeyA": "rR",
29+
"KeyS": "sS",
30+
"KeyD": "tT",
31+
"KeyF": "hH",
32+
"KeyG": "kK",
33+
"KeyH": "jJ",
34+
"KeyJ": "nN",
35+
"KeyK": "eE",
36+
"KeyL": "aA",
37+
"Semicolon": "iI",
38+
"Quote": ";:",
39+
"IntlBackslash": "\\|",
40+
"KeyZ": "xX",
41+
"KeyX": "cC",
42+
"KeyC": "mM",
43+
"KeyV": "pP",
44+
"KeyB": "vV",
45+
"KeyN": "zZ",
46+
"KeyM": ",<",
47+
"Comma": ".>",
48+
"Period": "'\"",
49+
"Slash": "/?",
50+
"Space": " "
51+
}

packages/keybr-generators/lib/generate-layouts.ts

+1
Original file line numberDiff line numberDiff line change
@@ -51,6 +51,7 @@ for (const [id, layout] of [
5151
["en_us", importCldr("cldr-keyboards-43.0/keyboards/windows/en-t-k0-windows.xml")],
5252
["en_workman", importKeymap("layouts/en_workman.json")],
5353
["en_workman_prog", importKeymap("layouts/en_workman_prog.json")],
54+
["en-aptv3", importKeymap("layouts/en_aptv3.json")],
5455
["es_es", importCldr("cldr-keyboards-43.0/keyboards/windows/es-t-k0-windows.xml")],
5556
["es_mx", importCldr("cldr-keyboards-43.0/keyboards/windows/es-419-t-k0-windows.xml")],
5657
["fa_ir", importCldr("cldr-keyboards-43.0/keyboards/windows/fa-t-k0-windows-extended.xml")],

packages/keybr-keyboard/lib/layout.ts

100644100755
+16
Original file line numberDiff line numberDiff line change
@@ -1070,6 +1070,21 @@ export class Layout implements XEnumItem {
10701070
/* emulate= */ false,
10711071
/* geometries= */ new Enum(Geometry.MATRIX),
10721072
);
1073+
static readonly EN_APT_v3 = new Layout(
1074+
/* id= */ "en-aptv3",
1075+
/* xid= */ 0xa4,
1076+
/* name= */ "APTv3",
1077+
/* family= */ "en-aptv3",
1078+
/* language= */ Language.EN,
1079+
/* emulate= */ true,
1080+
/* geometries= */ new Enum(
1081+
Geometry.ANSI_101,
1082+
Geometry.ANSI_101_FULL,
1083+
Geometry.ISO_102,
1084+
Geometry.ISO_102_FULL,
1085+
Geometry.MATRIX,
1086+
),
1087+
);
10731088

10741089
static readonly ALL = new XEnum<Layout>(
10751090
Layout.EN_US,
@@ -1095,6 +1110,7 @@ export class Layout implements XEnumItem {
10951110
Layout.EN_GALLIUM,
10961111
Layout.EN_GALLIUM_MATRIX,
10971112
Layout.EN_GRAPHITE,
1113+
Layout.EN_APT_v3,
10981114
Layout.EN_UK,
10991115
Layout.EN_JP,
11001116
Layout.EL_GR,
Original file line numberDiff line numberDiff line change
@@ -0,0 +1,56 @@
1+
// Generated file, do not edit.
2+
3+
import { type CharacterDict } from "../types.ts";
4+
5+
// prettier-ignore
6+
export const LAYOUT_EN_APTV3: CharacterDict = {
7+
Backquote: [/* GRAVE ACCENT */ 0x0060, /* TILDE */ 0x007e],
8+
Digit1: [/* DIGIT ONE */ 0x0031, /* EXCLAMATION MARK */ 0x0021],
9+
Digit2: [/* DIGIT TWO */ 0x0032, /* COMMERCIAL AT */ 0x0040],
10+
Digit3: [/* DIGIT THREE */ 0x0033, /* NUMBER SIGN */ 0x0023],
11+
Digit4: [/* DIGIT FOUR */ 0x0034, /* DOLLAR SIGN */ 0x0024],
12+
Digit5: [/* DIGIT FIVE */ 0x0035, /* PERCENT SIGN */ 0x0025],
13+
Digit6: [/* DIGIT SIX */ 0x0036, /* CIRCUMFLEX ACCENT */ 0x005e],
14+
Digit7: [/* DIGIT SEVEN */ 0x0037, /* AMPERSAND */ 0x0026],
15+
Digit8: [/* DIGIT EIGHT */ 0x0038, /* ASTERISK */ 0x002a],
16+
Digit9: [/* DIGIT NINE */ 0x0039, /* LEFT PARENTHESIS */ 0x0028],
17+
Digit0: [/* DIGIT ZERO */ 0x0030, /* RIGHT PARENTHESIS */ 0x0029],
18+
Minus: [/* HYPHEN-MINUS */ 0x002d, /* LOW LINE */ 0x005f],
19+
Equal: [/* EQUALS SIGN */ 0x003d, /* PLUS SIGN */ 0x002b],
20+
KeyQ: [/* LATIN SMALL LETTER W */ 0x0077, /* LATIN CAPITAL LETTER W */ 0x0057],
21+
KeyW: [/* LATIN SMALL LETTER G */ 0x0067, /* LATIN CAPITAL LETTER G */ 0x0047],
22+
KeyE: [/* LATIN SMALL LETTER D */ 0x0064, /* LATIN CAPITAL LETTER D */ 0x0044],
23+
KeyR: [/* LATIN SMALL LETTER F */ 0x0066, /* LATIN CAPITAL LETTER F */ 0x0046],
24+
KeyT: [/* LATIN SMALL LETTER B */ 0x0062, /* LATIN CAPITAL LETTER B */ 0x0042],
25+
KeyY: [/* LATIN SMALL LETTER Q */ 0x0071, /* LATIN CAPITAL LETTER Q */ 0x0051],
26+
KeyU: [/* LATIN SMALL LETTER L */ 0x006c, /* LATIN CAPITAL LETTER L */ 0x004c],
27+
KeyI: [/* LATIN SMALL LETTER U */ 0x0075, /* LATIN CAPITAL LETTER U */ 0x0055],
28+
KeyO: [/* LATIN SMALL LETTER O */ 0x006f, /* LATIN CAPITAL LETTER O */ 0x004f],
29+
KeyP: [/* LATIN SMALL LETTER Y */ 0x0079, /* LATIN CAPITAL LETTER Y */ 0x0059],
30+
BracketLeft: [/* LEFT SQUARE BRACKET */ 0x005b, /* LEFT CURLY BRACKET */ 0x007b],
31+
BracketRight: [/* RIGHT SQUARE BRACKET */ 0x005d, /* RIGHT CURLY BRACKET */ 0x007d],
32+
Backslash: [/* REVERSE SOLIDUS */ 0x005c, /* VERTICAL LINE */ 0x007c],
33+
KeyA: [/* LATIN SMALL LETTER R */ 0x0072, /* LATIN CAPITAL LETTER R */ 0x0052],
34+
KeyS: [/* LATIN SMALL LETTER S */ 0x0073, /* LATIN CAPITAL LETTER S */ 0x0053],
35+
KeyD: [/* LATIN SMALL LETTER T */ 0x0074, /* LATIN CAPITAL LETTER T */ 0x0054],
36+
KeyF: [/* LATIN SMALL LETTER H */ 0x0068, /* LATIN CAPITAL LETTER H */ 0x0048],
37+
KeyG: [/* LATIN SMALL LETTER K */ 0x006b, /* LATIN CAPITAL LETTER K */ 0x004b],
38+
KeyH: [/* LATIN SMALL LETTER J */ 0x006a, /* LATIN CAPITAL LETTER J */ 0x004a],
39+
KeyJ: [/* LATIN SMALL LETTER N */ 0x006e, /* LATIN CAPITAL LETTER N */ 0x004e],
40+
KeyK: [/* LATIN SMALL LETTER E */ 0x0065, /* LATIN CAPITAL LETTER E */ 0x0045],
41+
KeyL: [/* LATIN SMALL LETTER A */ 0x0061, /* LATIN CAPITAL LETTER A */ 0x0041],
42+
Semicolon: [/* LATIN SMALL LETTER I */ 0x0069, /* LATIN CAPITAL LETTER I */ 0x0049],
43+
Quote: [/* SEMICOLON */ 0x003b, /* COLON */ 0x003a],
44+
IntlBackslash: [/* REVERSE SOLIDUS */ 0x005c, /* VERTICAL LINE */ 0x007c],
45+
KeyZ: [/* LATIN SMALL LETTER X */ 0x0078, /* LATIN CAPITAL LETTER X */ 0x0058],
46+
KeyX: [/* LATIN SMALL LETTER C */ 0x0063, /* LATIN CAPITAL LETTER C */ 0x0043],
47+
KeyC: [/* LATIN SMALL LETTER M */ 0x006d, /* LATIN CAPITAL LETTER M */ 0x004d],
48+
KeyV: [/* LATIN SMALL LETTER P */ 0x0070, /* LATIN CAPITAL LETTER P */ 0x0050],
49+
KeyB: [/* LATIN SMALL LETTER V */ 0x0076, /* LATIN CAPITAL LETTER V */ 0x0056],
50+
KeyN: [/* LATIN SMALL LETTER Z */ 0x007a, /* LATIN CAPITAL LETTER Z */ 0x005a],
51+
KeyM: [/* COMMA */ 0x002c, /* LESS-THAN SIGN */ 0x003c],
52+
Comma: [/* FULL STOP */ 0x002e, /* GREATER-THAN SIGN */ 0x003e],
53+
Period: [/* APOSTROPHE */ 0x0027, /* QUOTATION MARK */ 0x0022],
54+
Slash: [/* SOLIDUS */ 0x002f, /* QUESTION MARK */ 0x003f],
55+
Space: [/* SPACE */ 0x0020],
56+
};

packages/keybr-keyboard/lib/load.ts

100644100755
+2
Original file line numberDiff line numberDiff line change
@@ -24,6 +24,7 @@ import { LAYOUT_DE_MINE } from "./layout/de_mine.ts";
2424
import { LAYOUT_DE_NEO_2 } from "./layout/de_neo_2.ts";
2525
import { LAYOUT_DE_NOTED } from "./layout/de_noted.ts";
2626
import { LAYOUT_EL_GR } from "./layout/el_gr.ts";
27+
import { LAYOUT_EN_APTV3 } from "./layout/en_aptv3.ts";
2728
import { LAYOUT_EN_CANARY } from "./layout/en_canary.ts";
2829
import { LAYOUT_EN_CANARY_MATRIX } from "./layout/en_canary_matrix.ts";
2930
import { LAYOUT_EN_COLEMAK } from "./layout/en_colemak.ts";
@@ -124,6 +125,7 @@ const layouts = new Map<Layout, CharacterDict>([
124125
[Layout.EN_NERPS_MATRIX, LAYOUT_EN_NERPS_MATRIX],
125126
[Layout.EN_NORMAN, LAYOUT_EN_NORMAN],
126127
[Layout.EN_STURDY, LAYOUT_EN_STURDY],
128+
[Layout.EN_APT_v3, LAYOUT_EN_APTV3],
127129
[Layout.EN_UK, LAYOUT_EN_UK],
128130
[Layout.EN_US, LAYOUT_EN_US],
129131
[Layout.EN_WORKMAN, LAYOUT_EN_WORKMAN],

0 commit comments

Comments
 (0)