Robert Walker 6 лет назад
Родитель
Сommit
0f321047b5

+ 5 - 5
README.md

@@ -4,22 +4,22 @@ This project is released under the GNU General Public License v2.
 
 ## Summary
 
-This project contains the software needed to build a USB keyboard adapter for the Luxor ABC 806 computer.
+This project contains the software needed to build a USB keyboard adapter for the [Luxor ABC 806 computer](http://www.pc-museum.com/luxor/index.htm).
 
 ## Required hardware
 
-    - [Arudino USB Host shield Uno](https://store.arduino.cc/arduino-uno-rev3) (or compatible)
-    - [Arudino USB Host shield USB Host shield](https://store.arduino.cc/arduino-usb-host-shield)
+- [Arudino USB Host shield Uno](https://store.arduino.cc/arduino-uno-rev3) (or compatible)
+- [Arudino USB Host shield USB Host shield](https://store.arduino.cc/arduino-usb-host-shield)
 
 ## Required Software
 
-    - [Arudino IDE](https://www.arduino.cc/en/main/software)
+- [Arudino IDE](https://www.arduino.cc/en/main/software)
     
 While the Arduino IDE is serviceable, VS Code together with the new [Arduino plugin](https://marketplace.visualstudio.com/items?itemName=vsciot-vscode.vscode-arduino) gives a far better development experience.
 
 ## Library dependencies
 
-    - [USB Host Shield Library 2.0](https://github.com/felis/USB_Host_Shield_2.0)
+- [USB Host Shield Library 2.0](https://github.com/felis/USB_Host_Shield_2.0)
     
 ## Pin mappings
 

+ 0 - 1
src/abc806serialdriver.h → src/main/abc806serialdriver.h

@@ -21,7 +21,6 @@
 
 #include <avr/io.h>  
 #include <util/delay.h>
-#include <assert.h>
 
 // Class with used to communicate with the ABC80x, its hard coded to
 // use the first usart 

+ 3 - 3
src/abckeys.h → src/main/abckeys.h

@@ -23,9 +23,9 @@
 #define ABC_KEY_BS              8   // Backspace
 #define ABC_KEY_BELL            7   // Ctrl-g
 #define ABC_KEY_HT              9   // "Forward"
-#define ABC_KEY_LF              10  // Ctrl-m
-#define ABC_KEY_CS              12  // Ctrl-m
-#define ABC_KEY_ENTER           13  // Enter
+#define ABC_KEY_LF              10  // Ctrl-j
+#define ABC_KEY_CS              12  // Ctrl-l
+#define ABC_KEY_ENTER           13  // Ctrl-m / Enter
 #define ABC_KEY_STEP            19  // Ctrl-s
 #define ABC_KEY_KILL            24  // Ctrl-x
 

+ 0 - 0
src/kdbparser.cpp → src/main/kdbparser.cpp


+ 0 - 0
src/kdbparser.h → src/main/kdbparser.h


+ 1 - 2
src/main.ino → src/main/main.ino

@@ -20,9 +20,8 @@
 #include <util/delay.h>
 #include <assert.h>
 
-#include "kdbparser.h"
 #include "abc806serialdriver.h"
-
+#include "kdbparser.h"
 
 USB                                 usb;
 HIDBoot<USB_HID_PROTOCOL_KEYBOARD>  HidKeyboard(&usb);

+ 0 - 0
src/scancodeconversion.h → src/main/scancodeconversion.h


+ 197 - 0
src/main/swedishlayouttoabclayout.h

@@ -0,0 +1,197 @@
+/*     
+    USB Keyboard driver for Luxor ABC 806 computers
+    Copyright (C) 2019  Robert Walker
+
+    This program is free software: you can redistribute it and/or modify
+    it under the terms of the GNU General Public License as published by
+    the Free Software Foundation, either version 3 of the License, or
+    (at your option) any later version.
+
+    This program is distributed in the hope that it will be useful,
+    but WITHOUT ANY WARRANTY; without even the implied warranty of
+    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
+    GNU General Public License for more details.
+
+    You should have received a copy of the GNU General Public License
+    along with this program.  If not, see <https://www.gnu.org/licenses/>. 
+*/
+
+#ifndef SWEDISH_LAYOUT
+#define SWEDISH_LAYOUT
+
+#include "scancodeconversion.h"
+#include "abckeys.h"
+#include "usbhidkeys.h"
+
+/* Bit mask for modifiers
+  struct {
+   uint8_t   bmLeftCtrl: 1        1
+   uint8_t   bmLeftShift: 1       2
+   uint8_t   bmLeftAlt: 1         4
+   uint8_t   bmLeftGUI: 1         8
+   uint8_t   bmRightCtrl: 1       16
+   uint8_t   bmRightShift: 1      32
+   uint8_t   bmRightAlt: 1
+   uint8_t   bmRightGUI: 1
+  }; 
+*/
+
+const uint8_t noModifierKey       = 0x0;
+const uint8_t shiftKeys           = 0x22;
+const uint8_t controlKeys         = 0x11;
+const uint8_t shiftAndControlKeys = 0x33;
+
+// This is a table for converting USB Hid scan codes applied to a Swedish layout to the ABC layout
+ScancodeConversion swedishLayoutToABCLayout[] = {
+  
+// Control keys
+  {KEY_BACKSPACE,ABC_KEY_BS,noModifierKey},             // Backspace
+  {KEY_ENTER,ABC_KEY_ENTER,noModifierKey},              // Enter
+  {KEY_SPACE,ABC_KEY_SPACE,noModifierKey},              // Space
+  {KEY_C,ABC_KEY_BREAK,controlKeys},                    // Break / Ctrl-c
+  {KEY_G,ABC_KEY_BELL,controlKeys},                     // Bell / Ctrl-g
+  {KEY_X,ABC_KEY_KILL,controlKeys},                     // Kill line / Ctrl-x
+  {KEY_J,ABC_KEY_LF,controlKeys},                       // Line feed / Ctrl-j
+  {KEY_M,ABC_KEY_ENTER,controlKeys},                    // Enter / Ctrl-m
+  {KEY_L,ABC_KEY_CS,controlKeys},                       // Clear screen / Ctrl-l
+  {KEY_S,ABC_KEY_STEP,controlKeys},                     // Single step / Ctrl-s
+
+// Top row
+  {KEY_1,ABC_KEY_EXCLMATION,shiftKeys},                 // !
+  {KEY_2,ABC_KEY_QUOTE,shiftKeys},                      // "
+  {KEY_3,ABC_KEY_HASH,shiftKeys},                       // #
+  {KEY_4,ABC_KEY_SOL,shiftKeys},                        // Sol
+  {KEY_5,ABC_KEY_PERCENT,shiftKeys},                    // %
+  {KEY_6,ABC_KEY_AMPERSAND,shiftKeys},                  // &
+  {KEY_7,ABC_KEY_FSLASH,shiftKeys},                     // /
+  {KEY_8,ABC_KEY_LEFT_PAR,shiftKeys},                   // (
+  {KEY_9,ABC_KEY_RIGHT_PAR,shiftKeys},                  // )
+  {KEY_0,ABC_KEY_EQUAL,shiftKeys},                      // =  
+  {KEY_MINUS,ABC_KEY_PLUS,noModifierKey},               // +  
+  {KEY_MINUS,ABC_KEY_QM,shiftKeys},                     // ?  
+  {KEY_EQUAL,ABC_KEY_64,shiftKeys},                     // Captial é
+  {KEY_EQUAL,ABC_KEY_96,noModifierKey},                 // é
+
+// Misc
+  {KEY_SLASH,ABC_KEY_MINUS,0x0},                        // -
+  {KEY_SLASH,ABC_KEY_UNDERSCORE,shiftKeys},             // _
+  {KEY_SEMICOLON,ABC_KEY_92,shiftKeys},                 // Ö
+  {KEY_SEMICOLON,ABC_KEY_124,noModifierKey},            // ö
+  {KEY_APOSTROPHE,ABC_KEY_91,shiftKeys},                // Ä
+  {KEY_APOSTROPHE,ABC_KEY_123,noModifierKey},           // Ä
+  {KEY_LEFTBRACE,ABC_KEY_93,shiftKeys},                 // Å
+  {KEY_LEFTBRACE,ABC_KEY_125,noModifierKey},            // å
+  {KEY_RIGHTBRACE,ABC_KEY_94,shiftKeys},                // Ü
+  {KEY_RIGHTBRACE,ABC_KEY_126,noModifierKey},           // ü
+  {KEY_COMMA,ABC_KEY_COMMA,noModifierKey},              // ,
+  {KEY_DOT,ABC_KEY_DOT,noModifierKey},                  // .
+  {KEY_COMMA,ABC_KEY_SEMICOLON,shiftKeys},              // ;
+  {KEY_DOT,ABC_KEY_COLON,shiftKeys},                    // :
+  {KEY_HASHTILDE,ABC_KEY_STAR,shiftKeys},               // *
+  {KEY_HASHTILDE,ABC_KEY_APOSTROPHE,noModifierKey},     // '
+  {KEY_102ND,ABC_KEY_LESS,noModifierKey},               // >
+  {KEY_102ND,ABC_KEY_GREATER,shiftKeys},                // <
+
+// Alpha and numeric  
+  {KEY_0,ABC_KEY_ZERO,noModifierKey},       
+  {KEY_1,ABC_KEY_ONE,noModifierKey},
+  {KEY_2,ABC_KEY_TWO,noModifierKey},
+  {KEY_3,ABC_KEY_THREE,noModifierKey},
+  {KEY_4,ABC_KEY_FOUR,noModifierKey},
+  {KEY_5,ABC_KEY_FIVE,noModifierKey},
+  {KEY_6,ABC_KEY_SIX,noModifierKey},
+  {KEY_7,ABC_KEY_SEVEN,noModifierKey},
+  {KEY_8,ABC_KEY_EIGHT,noModifierKey},
+  {KEY_9,ABC_KEY_NINE,noModifierKey},
+  {KEY_A,ABC_KEY_AL,noModifierKey},
+  {KEY_B,ABC_KEY_BL,noModifierKey},
+  {KEY_C,ABC_KEY_CL,noModifierKey},
+  {KEY_D,ABC_KEY_DL,noModifierKey},
+  {KEY_E,ABC_KEY_EL,noModifierKey},
+  {KEY_F,ABC_KEY_FL,noModifierKey},
+  {KEY_G,ABC_KEY_GL,noModifierKey},
+  {KEY_H,ABC_KEY_HL,noModifierKey},
+  {KEY_I,ABC_KEY_IL,noModifierKey},
+  {KEY_J,ABC_KEY_JL,noModifierKey},
+  {KEY_K,ABC_KEY_KL,noModifierKey},
+  {KEY_L,ABC_KEY_LL,noModifierKey},
+  {KEY_M,ABC_KEY_ML,noModifierKey},
+  {KEY_N,ABC_KEY_NL,noModifierKey},
+  {KEY_O,ABC_KEY_OL,noModifierKey},
+  {KEY_P,ABC_KEY_PL,noModifierKey},
+  {KEY_Q,ABC_KEY_QL,noModifierKey},
+  {KEY_R,ABC_KEY_RL,noModifierKey},
+  {KEY_S,ABC_KEY_SL,noModifierKey},
+  {KEY_T,ABC_KEY_TL,noModifierKey},
+  {KEY_U,ABC_KEY_UL,noModifierKey},
+  {KEY_V,ABC_KEY_VL,noModifierKey},
+  {KEY_W,ABC_KEY_WL,noModifierKey},
+  {KEY_X,ABC_KEY_XL,noModifierKey},
+  {KEY_Y,ABC_KEY_YL,noModifierKey},
+  {KEY_Z,ABC_KEY_ZL,noModifierKey},
+  {KEY_A,ABC_KEY_A,shiftKeys},
+  {KEY_B,ABC_KEY_B,shiftKeys},
+  {KEY_C,ABC_KEY_C,shiftKeys},
+  {KEY_D,ABC_KEY_D,shiftKeys},
+  {KEY_E,ABC_KEY_E,shiftKeys},
+  {KEY_F,ABC_KEY_F,shiftKeys},
+  {KEY_G,ABC_KEY_G,shiftKeys},
+  {KEY_H,ABC_KEY_H,shiftKeys},
+  {KEY_I,ABC_KEY_I,shiftKeys},
+  {KEY_J,ABC_KEY_J,shiftKeys},
+  {KEY_K,ABC_KEY_K,shiftKeys},
+  {KEY_L,ABC_KEY_L,shiftKeys},
+  {KEY_M,ABC_KEY_M,shiftKeys},
+  {KEY_N,ABC_KEY_N,shiftKeys},
+  {KEY_O,ABC_KEY_O,shiftKeys},
+  {KEY_P,ABC_KEY_P,shiftKeys},
+  {KEY_Q,ABC_KEY_Q,shiftKeys},
+  {KEY_R,ABC_KEY_R,shiftKeys},
+  {KEY_S,ABC_KEY_S,shiftKeys},
+  {KEY_T,ABC_KEY_T,shiftKeys},
+  {KEY_U,ABC_KEY_U,shiftKeys},
+  {KEY_V,ABC_KEY_V,shiftKeys},
+  {KEY_W,ABC_KEY_W,shiftKeys},
+  {KEY_X,ABC_KEY_X,shiftKeys},
+  {KEY_Y,ABC_KEY_Y,shiftKeys},
+  {KEY_Z,ABC_KEY_Z,shiftKeys},
+
+// Function keys
+  {KEY_F1,ABC_KEY_PF1,noModifierKey},
+  {KEY_F2,ABC_KEY_PF2,noModifierKey},
+  {KEY_F3,ABC_KEY_PF3,noModifierKey},
+  {KEY_F4,ABC_KEY_PF4,noModifierKey},
+  {KEY_F5,ABC_KEY_PF5,noModifierKey},
+  {KEY_F6,ABC_KEY_PF6,noModifierKey},
+  {KEY_F7,ABC_KEY_PF7,noModifierKey},
+  {KEY_F8,ABC_KEY_PF8,noModifierKey},
+
+  {KEY_F1,ABC_KEY_PF1_SHIFT,shiftKeys},
+  {KEY_F2,ABC_KEY_PF2_SHIFT,shiftKeys},
+  {KEY_F3,ABC_KEY_PF3_SHIFT,shiftKeys},
+  {KEY_F4,ABC_KEY_PF4_SHIFT,shiftKeys},
+  {KEY_F5,ABC_KEY_PF5_SHIFT,shiftKeys},
+  {KEY_F6,ABC_KEY_PF6_SHIFT,shiftKeys},
+  {KEY_F7,ABC_KEY_PF7_SHIFT,shiftKeys},
+  {KEY_F8,ABC_KEY_PF8_SHIFT,shiftKeys},
+
+  {KEY_F1,ABC_KEY_PF1_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F2,ABC_KEY_PF2_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F3,ABC_KEY_PF3_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F4,ABC_KEY_PF4_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F5,ABC_KEY_PF5_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F6,ABC_KEY_PF6_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F7,ABC_KEY_PF7_SHIFT_CTRL,shiftAndControlKeys},
+  {KEY_F8,ABC_KEY_PF8_SHIFT_CTRL,shiftAndControlKeys},
+
+  {KEY_F1,ABC_KEY_PF1_CTRL,controlKeys},
+  {KEY_F2,ABC_KEY_PF2_CTRL,controlKeys},
+  {KEY_F3,ABC_KEY_PF3_CTRL,controlKeys},
+  {KEY_F4,ABC_KEY_PF4_CTRL,controlKeys},
+  {KEY_F5,ABC_KEY_PF5_CTRL,controlKeys},
+  {KEY_F6,ABC_KEY_PF6_CTRL,controlKeys},
+  {KEY_F7,ABC_KEY_PF7_CTRL,controlKeys},
+  {KEY_F8,ABC_KEY_PF8_CTRL,controlKeys},
+};
+
+#endif 

+ 0 - 0
src/usbhidkeys.h → src/main/usbhidkeys.h


+ 0 - 177
src/swedishlayouttoabclayout.h

@@ -1,177 +0,0 @@
-/*     
-    USB Keyboard driver for Luxor ABC 806 computers
-    Copyright (C) 2019  Robert Walker
-
-    This program is free software: you can redistribute it and/or modify
-    it under the terms of the GNU General Public License as published by
-    the Free Software Foundation, either version 3 of the License, or
-    (at your option) any later version.
-
-    This program is distributed in the hope that it will be useful,
-    but WITHOUT ANY WARRANTY; without even the implied warranty of
-    MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
-    GNU General Public License for more details.
-
-    You should have received a copy of the GNU General Public License
-    along with this program.  If not, see <https://www.gnu.org/licenses/>. 
-*/
-
-#ifndef SWEDISH_LAYOUT
-#define SWEDISH_LAYOUT
-
-#include "scancodeconversion.h"
-#include "abckeys.h"
-#include "usbhidkeys.h"
-
-// This is a table for converting USB Hid scan codes applied to a Swedish layout to the ABC layout
-ScancodeConversion swedishLayoutToABCLayout[] = {
-
-// Control keys
-  {KEY_BACKSPACE,ABC_KEY_BS,0},                 // Backspace
-  {KEY_ENTER,ABC_KEY_ENTER,0},                  // Enter
-  {KEY_SPACE,ABC_KEY_SPACE,0},                  // Space
-  {KEY_C,ABC_KEY_BREAK,0x30},                   // Break / Ctrl-c
-  {KEY_G,ABC_KEY_BELL,0x30},                    // Bell / Ctrl-g
-  {KEY_X,ABC_KEY_KILL,0x30},                    // Kill line / Ctrl-x
-  {KEY_M,ABC_KEY_LF,0x30},                      // Line feed / Ctrl-m
-  {KEY_L,ABC_KEY_CS,0x30},                      // Clear screen / Ctrl-l
-
-// Top row
-  {KEY_1,ABC_KEY_EXCLMATION,0x22},              // !
-  {KEY_2,ABC_KEY_QUOTE,0x22},                   // "
-  {KEY_3,ABC_KEY_HASH,0x22},                    // #
-  {KEY_4,ABC_KEY_SOL,0x22},                     // Sol
-  {KEY_5,ABC_KEY_PERCENT,0x22},                 // %
-  {KEY_6,ABC_KEY_AMPERSAND,0x22},               // &
-  {KEY_7,ABC_KEY_FSLASH,0x22},                  // /
-  {KEY_8,ABC_KEY_LEFT_PAR,0x22},                // (
-  {KEY_9,ABC_KEY_RIGHT_PAR,0x22},               // )
-  {KEY_0,ABC_KEY_EQUAL,0x22},                   // =  
-  {KEY_MINUS,ABC_KEY_PLUS,0},                   // +  
-  {KEY_MINUS,ABC_KEY_QM,0x22},                  // ?  
-  {KEY_EQUAL,ABC_KEY_64,0x22},                  // Captial é
-  {KEY_EQUAL,ABC_KEY_96,0},                     // é
-
-// Misc
-  {KEY_SLASH,ABC_KEY_MINUS,0x0},                // -
-  {KEY_SLASH,ABC_KEY_UNDERSCORE,0x22},          // _
-  {KEY_SEMICOLON,ABC_KEY_92,0x22},              // Ö
-  {KEY_SEMICOLON,ABC_KEY_124,0},                // ö
-  {KEY_APOSTROPHE,ABC_KEY_91,0x22},             // Ä
-  {KEY_APOSTROPHE,ABC_KEY_123,0},               // Ä
-  {KEY_LEFTBRACE,ABC_KEY_93,0x22},              // Å
-  {KEY_LEFTBRACE,ABC_KEY_125,0},                // å
-  {KEY_RIGHTBRACE,ABC_KEY_94,0x22},             // Ü
-  {KEY_RIGHTBRACE,ABC_KEY_126,0},               // ü
-  {KEY_COMMA,ABC_KEY_COMMA,0},                  // ,
-  {KEY_DOT,ABC_KEY_DOT,0},                      // .
-  {KEY_COMMA,ABC_KEY_SEMICOLON,0x22},           // ;
-  {KEY_DOT,ABC_KEY_COLON,0x22},                 // :
-  {KEY_HASHTILDE,ABC_KEY_STAR,0x22},           // *
-  {KEY_HASHTILDE,ABC_KEY_APOSTROPHE,0},        // '
-  {KEY_102ND,ABC_KEY_LESS,0},                  // >
-  {KEY_102ND,ABC_KEY_GREATER,0x22},            // <
-
-// Alpha and numeric  
-  {KEY_0,ABC_KEY_ZERO,0},       
-  {KEY_1,ABC_KEY_ONE,0},
-  {KEY_2,ABC_KEY_TWO,0},
-  {KEY_3,ABC_KEY_THREE,0},
-  {KEY_4,ABC_KEY_FOUR,0},
-  {KEY_5,ABC_KEY_FIVE,0},
-  {KEY_6,ABC_KEY_SIX,0},
-  {KEY_7,ABC_KEY_SEVEN,0},
-  {KEY_8,ABC_KEY_EIGHT,0},
-  {KEY_9,ABC_KEY_NINE,0},
-  {KEY_A,ABC_KEY_AL,0},
-  {KEY_B,ABC_KEY_BL,0},
-  {KEY_C,ABC_KEY_CL,0},
-  {KEY_D,ABC_KEY_DL,0},
-  {KEY_E,ABC_KEY_EL,0},
-  {KEY_F,ABC_KEY_FL,0},
-  {KEY_G,ABC_KEY_GL,0},
-  {KEY_H,ABC_KEY_HL,0},
-  {KEY_I,ABC_KEY_IL,0},
-  {KEY_J,ABC_KEY_JL,0},
-  {KEY_K,ABC_KEY_KL,0},
-  {KEY_L,ABC_KEY_LL,0},
-  {KEY_M,ABC_KEY_ML,0},
-  {KEY_N,ABC_KEY_NL,0},
-  {KEY_O,ABC_KEY_OL,0},
-  {KEY_P,ABC_KEY_PL,0},
-  {KEY_Q,ABC_KEY_QL,0},
-  {KEY_R,ABC_KEY_RL,0},
-  {KEY_S,ABC_KEY_SL,0},
-  {KEY_T,ABC_KEY_TL,0},
-  {KEY_U,ABC_KEY_UL,0},
-  {KEY_V,ABC_KEY_VL,0},
-  {KEY_W,ABC_KEY_WL,0},
-  {KEY_X,ABC_KEY_XL,0},
-  {KEY_Y,ABC_KEY_YL,0},
-  {KEY_Z,ABC_KEY_ZL,0},
-  {KEY_A,ABC_KEY_A,0x22},
-  {KEY_B,ABC_KEY_B,0x22},
-  {KEY_C,ABC_KEY_C,0x22},
-  {KEY_D,ABC_KEY_D,0x22},
-  {KEY_E,ABC_KEY_E,0x22},
-  {KEY_F,ABC_KEY_F,0x22},
-  {KEY_G,ABC_KEY_G,0x22},
-  {KEY_H,ABC_KEY_H,0x22},
-  {KEY_I,ABC_KEY_I,0x22},
-  {KEY_J,ABC_KEY_J,0x22},
-  {KEY_K,ABC_KEY_K,0x22},
-  {KEY_L,ABC_KEY_L,0x22},
-  {KEY_M,ABC_KEY_M,0x22},
-  {KEY_N,ABC_KEY_N,0x22},
-  {KEY_O,ABC_KEY_O,0x22},
-  {KEY_P,ABC_KEY_P,0x22},
-  {KEY_Q,ABC_KEY_Q,0x22},
-  {KEY_R,ABC_KEY_R,0x22},
-  {KEY_S,ABC_KEY_S,0x22},
-  {KEY_T,ABC_KEY_T,0x22},
-  {KEY_U,ABC_KEY_U,0x22},
-  {KEY_V,ABC_KEY_V,0x22},
-  {KEY_W,ABC_KEY_W,0x22},
-  {KEY_X,ABC_KEY_X,0x22},
-  {KEY_Y,ABC_KEY_Y,0x22},
-  {KEY_Z,ABC_KEY_Z,0x22},
-
-// Function keys
-  {KEY_F1,ABC_KEY_PF1,0},
-  {KEY_F2,ABC_KEY_PF2,0},
-  {KEY_F3,ABC_KEY_PF3,0},
-  {KEY_F4,ABC_KEY_PF4,0},
-  {KEY_F5,ABC_KEY_PF5,0},
-  {KEY_F6,ABC_KEY_PF6,0},
-  {KEY_F7,ABC_KEY_PF7,0},
-  {KEY_F8,ABC_KEY_PF8,0},
-
-  {KEY_F1,ABC_KEY_PF1_SHIFT,0x22},
-  {KEY_F2,ABC_KEY_PF2_SHIFT,0x22},
-  {KEY_F3,ABC_KEY_PF3_SHIFT,0x22},
-  {KEY_F4,ABC_KEY_PF4_SHIFT,0x22},
-  {KEY_F5,ABC_KEY_PF5_SHIFT,0x22},
-  {KEY_F6,ABC_KEY_PF6_SHIFT,0x22},
-  {KEY_F7,ABC_KEY_PF7_SHIFT,0x22},
-  {KEY_F8,ABC_KEY_PF8_SHIFT,0x22},
-
-  {KEY_F1,ABC_KEY_PF1_SHIFT_CTRL,0x52},
-  {KEY_F2,ABC_KEY_PF2_SHIFT_CTRL,0x52},
-  {KEY_F3,ABC_KEY_PF3_SHIFT_CTRL,0x52},
-  {KEY_F4,ABC_KEY_PF4_SHIFT_CTRL,0x52},
-  {KEY_F5,ABC_KEY_PF5_SHIFT_CTRL,0x52},
-  {KEY_F6,ABC_KEY_PF6_SHIFT_CTRL,0x52},
-  {KEY_F7,ABC_KEY_PF7_SHIFT_CTRL,0x52},
-  {KEY_F8,ABC_KEY_PF8_SHIFT_CTRL,0x52},
-
-  {KEY_F1,ABC_KEY_PF1_CTRL,0x30},
-  {KEY_F2,ABC_KEY_PF2_CTRL,0x30},
-  {KEY_F3,ABC_KEY_PF3_CTRL,0x30},
-  {KEY_F4,ABC_KEY_PF4_CTRL,0x30},
-  {KEY_F5,ABC_KEY_PF5_CTRL,0x30},
-  {KEY_F6,ABC_KEY_PF6_CTRL,0x30},
-  {KEY_F7,ABC_KEY_PF7_CTRL,0x30},
-  {KEY_F8,ABC_KEY_PF8_CTRL,0x30},
-};
-
-#endif