--- /dev/null
+/* Copyright (C) 2012 by Jacob Alexander
+ *
+ * Permission is hereby granted, free of charge, to any person obtaining a copy
+ * of this software and associated documentation files (the "Software"), to deal
+ * in the Software without restriction, including without limitation the rights
+ * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
+ * copies of the Software, and to permit persons to whom the Software is
+ * furnished to do so, subject to the following conditions:
+ *
+ * The above copyright notice and this permission notice shall be included in
+ * all copies or substantial portions of the Software.
+ *
+ * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
+ * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
+ * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
+ * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
+ * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
+ * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN
+ * THE SOFTWARE.
+ */
+
+#ifndef __SKM67001_H
+#define __SKM67001_H
+
+// This file contains various key layouts for the SKM 67001 Keyboard from the Olympia Professional ES 105 Typewriter
+
+
+// ----- Variables -----
+
+static uint8_t skm67001_ModifierMask [] = { 0x34, 0x38, 0x3A, 0x40 };
+
+// Default 1-indexed key mappings
+static uint8_t skm67001_DefaultMap[] = {
+ 0, // 0x00
+ KEY_1, // 0x01
+ KEY_Q, // 0x02
+ KEY_A, // 0x03
+ KEY_2, // 0x04
+ KEY_Z, // 0x05
+ KEY_W, // 0x06
+ KEY_S, // 0x07
+ KEY_3, // 0x08
+ KEY_X, // 0x09
+ KEY_E, // 0x0A
+ KEY_D, // 0x0B
+ KEY_4, // 0x0C
+ KEY_C, // 0x0D
+ KEY_R, // 0x0E
+ KEY_F, // 0x0F
+ KEY_5, // 0x10
+ KEY_V, // 0x11
+ KEY_T, // 0x12
+ KEY_G, // 0x13
+ KEY_6, // 0x14
+ KEY_B, // 0x15
+ KEY_Y, // 0x16
+ KEY_H, // 0x17
+ KEY_7, // 0x18
+ KEY_N, // 0x19
+ KEY_U, // 0x1A
+ KEY_J, // 0x1B
+ KEY_8, // 0x1C
+ KEY_M, // 0x1D
+ KEY_I, // 0x1E
+ KEY_K, // 0x1F
+ KEY_9, // 0x20
+ KEY_COMMA, // 0x21
+ KEY_O, // 0x22
+ KEY_L, // 0x23
+ KEY_0, // 0x24
+ KEY_PERIOD, // 0x25
+ KEY_P, // 0x26
+ KEY_SEMICOLON, // 0x27
+ KEY_MINUS, // 0x28
+ KEY_SLASH, // 0x29
+ KEY_LEFT_BRACE, // 0x2A (1/4)
+ KEY_QUOTE, // 0x2B
+ KEY_EQUAL, // 0x2C
+ KEY_RIGHT_BRACE, // 0x2D
+ 0, // 0x2E
+ 0, // 0x2F
+ KEY_TILDE, // 0x30
+ KEY_TAB, // 0x31
+ 0, // 0x32
+ 0, // 0x33
+ KEY_SHIFT, // 0x34
+ KEY_ENTER, // 0x35
+ KEY_BACKSPACE, // 0x36
+ KEY_DELETE, // 0x37
+ KEY_CTRL, // 0x38 (MAR LEFT)
+ KEY_SPACE, // 0x39
+ KEY_ALT, // 0x3A (EXPRESS / MAR RIGHT)
+ 0, // 0x3B
+ 0, // 0x3C
+ KEY_ESC, // 0x3D (MAR REL)
+ 0, // 0x3E (STORE)
+ 0, // 0x3F (RECALL)
+ KEY_GUI, // 0x40 (CODE)
+ 0, // 0x41
+ 0, // 0x42
+ 0, // 0x43
+ 0, // 0x44
+ 0, // 0x45
+ 0, // 0x46
+ 0, // 0x47
+ 0, // 0x48 (DEC TAB)
+ 0, // 0x49 (SET TAB)
+ 0, // 0x4A (TAB CLEAR)
+ 0, // 0x4B (INDEX)
+ 0, // 0x4C (RELOC)
+ 0, // 0x4D
+ 0, // 0x4E
+ 0, // 0x4F
+ 0, // 0x50 (REV INDEX)
+ 0, // 0x51
+ 0, // 0x52
+ 0, // 0x53
+ 0, // 0x54
+ 0, // 0x55
+};
+
+static uint8_t skm67001_ColemakMap[] = {
+ 0, // 0x00
+ KEY_1, // 0x01
+ KEY_Q, // 0x02
+ KEY_A, // 0x03
+ KEY_2, // 0x04
+ KEY_Z, // 0x05
+ KEY_W, // 0x06
+ KEY_R, // 0x07
+ KEY_3, // 0x08
+ KEY_X, // 0x09
+ KEY_F, // 0x0A
+ KEY_S, // 0x0B
+ KEY_4, // 0x0C
+ KEY_C, // 0x0D
+ KEY_P, // 0x0E
+ KEY_T, // 0x0F
+ KEY_5, // 0x10
+ KEY_V, // 0x11
+ KEY_G, // 0x12
+ KEY_D, // 0x13
+ KEY_6, // 0x14
+ KEY_B, // 0x15
+ KEY_J, // 0x16
+ KEY_H, // 0x17
+ KEY_7, // 0x18
+ KEY_K, // 0x19
+ KEY_L, // 0x1A
+ KEY_N, // 0x1B
+ KEY_8, // 0x1C
+ KEY_M, // 0x1D
+ KEY_U, // 0x1E
+ KEY_E, // 0x1F
+ KEY_9, // 0x20
+ KEY_COMMA, // 0x21
+ KEY_Y, // 0x22
+ KEY_I, // 0x23
+ KEY_0, // 0x24
+ KEY_PERIOD, // 0x25
+ KEY_SEMICOLON, // 0x26
+ KEY_O, // 0x27
+ KEY_MINUS, // 0x28
+ KEY_SLASH, // 0x29
+ KEY_LEFT_BRACE, // 0x2A (1/4)
+ KEY_QUOTE, // 0x2B
+ KEY_EQUAL, // 0x2C
+ KEY_RIGHT_BRACE, // 0x2D
+ 0, // 0x2E
+ 0, // 0x2F
+ KEY_TILDE, // 0x30
+ KEY_TAB, // 0x31
+ 0, // 0x32
+ 0, // 0x33
+ KEY_SHIFT, // 0x34
+ KEY_ENTER, // 0x35
+ KEY_BACKSPACE, // 0x36
+ KEY_DELETE, // 0x37
+ KEY_CTRL, // 0x38 (MAR LEFT)
+ KEY_SPACE, // 0x39
+ KEY_ALT, // 0x3A (EXPRESS / MAR RIGHT)
+ 0, // 0x3B
+ 0, // 0x3C
+ KEY_ESC, // 0x3D (MAR REL)
+ 0, // 0x3E (STORE)
+ 0, // 0x3F (RECALL)
+ KEY_GUI, // 0x40 (CODE)
+ 0, // 0x41
+ 0, // 0x42
+ 0, // 0x43
+ 0, // 0x44
+ 0, // 0x45
+ 0, // 0x46
+ 0, // 0x47
+ 0, // 0x48 (DEC TAB)
+ 0, // 0x49 (SET TAB)
+ 0, // 0x4A (TAB CLEAR)
+ 0, // 0x4B (INDEX)
+ 0, // 0x4C (RELOC)
+ 0, // 0x4D
+ 0, // 0x4E
+ 0, // 0x4F
+ 0, // 0x50 (REV INDEX)
+ 0, // 0x51
+ 0, // 0x52
+ 0, // 0x53
+ 0, // 0x54
+ 0, // 0x55
+};
+
+
+
+#endif
+