diff --git a/data/keyboards/geometry/numbers-keypad.xml b/data/keyboards/geometry/numbers-keypad.xml
new file mode 100644
index 00000000..4b5f11b8
--- /dev/null
+++ b/data/keyboards/geometry/numbers-keypad.xml
@@ -0,0 +1,105 @@
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
+
diff --git a/data/keyboards/keyboards.xml b/data/keyboards/keyboards.xml
index 87ad1843..a5536c49 100644
--- a/data/keyboards/keyboards.xml
+++ b/data/keyboards/keyboards.xml
@@ -88,4 +88,10 @@
+
+
+
+
diff --git a/data/keyboards/keymaps/numbers.xkb b/data/keyboards/keymaps/numbers.xkb
new file mode 100644
index 00000000..c6fbdef2
--- /dev/null
+++ b/data/keyboards/keymaps/numbers.xkb
@@ -0,0 +1,292 @@
+xkb_keymap {
+
+ xkb_keycodes "squeekboard" {
+ minimum = 8;
+ maximum = 255;
+ = 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;
+ = 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;
+ = 134;
+ = 135;
+ = 136;
+ = 137;
+ = 138;
+ = 139;
+ = 140;
+ = 141;
+ = 142;
+ = 143;
+ = 144;
+ = 145;
+ = 146;
+ = 147;
+ = 148;
+ = 149;
+ = 150;
+ = 151;
+ = 152;
+ = 153;
+ = 154;
+ = 155;
+ = 156;
+ = 157;
+ = 158;
+ = 159;
+ = 160;
+ = 161;
+ = 162;
+ = 163;
+ = 164;
+ = 165;
+ = 166;
+ = 167;
+ = 168;
+ = 169;
+ = 170;
+ = 171;
+ = 172;
+ = 173;
+ = 174;
+ = 175;
+ = 176;
+ = 177;
+ = 178;
+ = 179;
+ = 180;
+ = 181;
+ = 182;
+ = 183;
+ = 184;
+ = 185;
+ = 186;
+ = 187;
+ = 188;
+ = 189;
+ = 190;
+ = 191;
+ = 192;
+ = 193;
+ = 194;
+ = 195;
+ = 196;
+ = 197;
+ = 198;
+ = 199;
+ = 200;
+ = 201;
+ = 202;
+ = 203;
+ = 204;
+ = 205;
+ = 206;
+ = 207;
+ = 208;
+ = 209;
+ = 210;
+ = 211;
+ = 212;
+ = 213;
+ = 214;
+ = 215;
+ = 216;
+ = 217;
+ = 218;
+ = 219;
+ = 220;
+ = 221;
+ = 222;
+ = 223;
+ = 224;
+ = 225;
+ = 226;
+ = 227;
+ = 228;
+ = 229;
+ = 230;
+ = 231;
+ = 232;
+ = 233;
+ = 234;
+ = 235;
+ = 236;
+ = 237;
+ = 238;
+ = 239;
+ = 240;
+ = 241;
+ = 242;
+ = 243;
+ = 244;
+ = 245;
+ = 246;
+ = 247;
+ = 248;
+ = 249;
+ = 250;
+ = 251;
+ = 252;
+ = 253;
+ = 254;
+ = 255;
+ };
+
+ xkb_symbols "squeekboard" {
+
+ name[Group1] = "Letters";
+ name[Group2] = "Numbers/Symbols";
+
+ key { [ 1, 1 ], [ 1, 1 ] };
+ key { [ 2, 2 ], [ 2, 2 ] };
+ key { [ 3, 3 ], [ 3, 3 ] };
+ key { [ parenleft, parenleft ], [ parenleft, parenleft ] };
+ key { [ parenright, parenright ], [ parenright, parenright ] };
+ key { [ 4, 4 ], [ 4, 4 ] };
+ key { [ 5, 5 ], [ 5, 5 ] };
+ key { [ 6, 6 ], [ 6, 6 ] };
+ key { [ numbersign, numbersign ], [ numbersign, numbersign ] };
+ key