diff --git a/src/data/keymaps/Dvorak (programmer's).keymap b/src/data/keymaps/Dvorak (programmer's).keymap
new file mode 100644
index 0000000..d5914d7
--- /dev/null
+++ b/src/data/keymaps/Dvorak (programmer's).keymap	
@@ -0,0 +1,249 @@
+#!/bin/keymap -s
+#
+#	Raw key numbering for 101 keyboard...
+#                                                                                        [sys]       [brk]
+#                                                                                         0x7e        0x7f
+# [esc]       [ f1] [ f2] [ f3] [ f4] [ f5] [ f6] [ f7] [ f8] [ f9] [f10] [f11] [f12]    [prn] [scr] [pau]
+#  0x01        0x02  0x03  0x04  0x05  0x06  0x07  0x08  0x09  0x0a  0x0b  0x0c  0x0d     0x0e  0x0f  0x10     K E Y P A D   K E Y S
+#
+# [ ` ] [ 1 ] [ 2 ] [ 3 ] [ 4 ] [ 5 ] [ 6 ] [ 7 ] [ 8 ] [ 9 ] [ 0 ] [ - ] [ = ] [bck]    [ins] [hme] [pup]    [num] [ / ] [ * ] [ - ]
+#  0x11  0x12  0x13  0x14  0x15  0x16  0x17  0x18  0x19  0x1a  0x1b  0x1c  0x1d  0x1e     0x1f  0x20  0x21     0x22  0x23  0x24  0x25
+#
+# [tab] [ q ] [ w ] [ e ] [ r ] [ t ] [ y ] [ u ] [ i ] [ o ] [ p ] [ [ ] [ ] ] [ \ ]    [del] [end] [pdn]    [ 7 ] [ 8 ] [ 9 ] [ + ]
+#  0x26  0x27  0x28  0x29  0x2a  0x2b  0x2c  0x2d  0x2e  0x2f  0x30  0x31  0x32  0x33     0x34  0x35  0x36     0x37  0x38  0x39  0x3a
+#
+# [cap] [ a ] [ s ] [ d ] [ f ] [ g ] [ h ] [ j ] [ k ] [ l ] [ ; ] [ ' ] [  enter  ]                         [ 4 ] [ 5 ] [ 6 ]
+#  0x3b  0x3c  0x3d  0x3e  0x3f  0x40  0x41  0x42  0x43  0x44  0x45  0x46     0x47                             0x48  0x49  0x4a
+#
+# [shift]     [ z ] [ x ] [ c ] [ v ] [ b ] [ n ] [ m ] [ , ] [ . ] [ / ]     [shift]          [ up]          [ 1 ] [ 2 ] [ 3 ] [ent]
+#   0x4b       0x4c  0x4d  0x4e  0x4f  0x50  0x51  0x52  0x53  0x54  0x55       0x56            0x57           0x58  0x59  0x5a  0x5b
+#
+# [ctr]             [cmd]             [  space  ]             [cmd]             [ctr]    [lft] [dwn] [rgt]    [ 0 ] [ . ]
+#  0x5c              0x5d                 0x5e                 0x5f              0x60     0x61  0x62  0x63     0x64  0x65
+#
+#	NOTE: On a Microsoft Natural Keyboard:
+#			left option  = 0x66
+#			right option = 0x67
+#			menu key     = 0x68
+#	NOTE: On an Apple Extended Keyboard:
+#			left option  = 0x66
+#			right option = 0x67
+#			keypad '='   = 0x6a
+#			power key    = 0x6b
+Version = 3
+CapsLock = 0x3b
+ScrollLock = 0x0f
+NumLock = 0x22
+LShift = 0x4b
+RShift = 0x56
+LCommand = 0x5d
+RCommand = 0x5f
+LControl = 0x5c
+RControl = 0x60
+LOption = 0x66
+ROption = 0x67
+Menu = 0x68
+#
+# Lock settings
+# To set NumLock, do the following:
+#   LockSettings = NumLock
+#
+# To set everything, do the following:
+#   LockSettings = CapsLock NumLock ScrollLock
+#
+LockSettings = 
+# Legend:
+#   n = Normal
+#   s = Shift
+#   c = Control
+#   C = CapsLock
+#   o = Option
+# Key      n        s        c        o        os       C        Cs       Co       Cos     
+Key 0x00 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x01 = 0x1b     0x1b     0x1b     0x1b     0x1b     0x1b     0x1b     0x1b     0x1b     
+Key 0x02 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x03 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x04 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x05 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x06 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x07 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x08 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x09 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x0a = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x0b = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x0c = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x0d = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x0e = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x0f = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x10 = 0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     0x10     
+Key 0x11 = '$'      '~'      ''       ' '      ''       '`'      '~'      ' '      ''       
+Key 0x12 = '&'      '%'      ''       ' '      ''       '1'      '!'      ' '      ''       
+Key 0x13 = '['      '7'      0x00     ' '      ''       '2'      '@'      ' '      ''       
+Key 0x14 = '{'      '5'      ''       ' '      ''       '3'      '#'      ' '      ''       
+Key 0x15 = '}'      '3'      ''       ' '      ''       '4'      '$'      ' '      ''       
+Key 0x16 = '('      '1'      ''       ' '      ''       '5'      '%'      ' '      ''       
+Key 0x17 = '='      '9'      0x1e     ' '      ''       '6'      '^'      ' '      ''       
+Key 0x18 = '*'      '0'      ''       ' '      ''       '7'      '&'      ' '      ''       
+Key 0x19 = ')'      '2'      ''       ' '      ''       '8'      '*'      ' '      ''       
+Key 0x1a = '+'      '4'      ''       ' '      ''       '9'      '('      ' '      ''       
+Key 0x1b = ']'      '6'      ''       ' '      ''       '0'      ')'      ' '      ''       
+Key 0x1c = '!'      '8'      0x1b     ' '      ''       '['      '{'      ' '      ''       
+Key 0x1d = '#'      '`'      0x1d     ' '      ''       ']'      '}'      ' '      ''       
+Key 0x1e = 0x08     0x08     0x7f     0x08     0x08     0x08     0x08     0x08     0x08     
+Key 0x1f = 0x05     0x05     0x05     0x05     0x05     0x05     0x05     0x05     0x05     
+Key 0x20 = 0x01     0x01     0x01     0x01     0x01     0x01     0x01     0x01     0x01     
+Key 0x21 = 0x0b     0x0b     0x0b     0x0b     0x0b     0x0b     0x0b     0x0b     0x0b     
+Key 0x22 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x23 = '/'      '/'      '/'      '/'      '/'      '/'      '/'      '/'      '/'      
+Key 0x24 = '*'      '*'      '*'      '*'      '*'      '*'      '*'      '*'      '*'      
+Key 0x25 = '-'      '-'      '-'      '-'      '-'      '-'      '-'      '-'      '-'      
+Key 0x26 = 0x09     0x09     0x09     0x09     0x09     0x09     0x09     0x09     0x09     
+Key 0x27 = ';'      ':'      ''       ' '      ''       '\''     '"'      ' '      ''       
+Key 0x28 = ','      '<'      ''       ' '      ''       ','      '<'      ' '      ''       
+Key 0x29 = '.'      '>'      ''       ' '      ''       '.'      '>'      ' '      ''       
+Key 0x2a = 'p'      'P'      0x10     ' '      ''       'P'      'p'      ' '      ''       
+Key 0x2b = 'y'      'Y'      0x19     ' '      ''       'Y'      'y'      ' '      ''       
+Key 0x2c = 'f'      'F'      0x06     ' '      ''       'F'      'f'      ' '      ''       
+Key 0x2d = 'g'      'G'      0x07     ' '      ''       'G'      'g'      ' '      ''       
+Key 0x2e = 'c'      'C'      0x03     ' '      ''       'C'      'c'      ' '      ''       
+Key 0x2f = 'r'      'R'      0x12     ' '      ''       'R'      'r'      ' '      ''       
+Key 0x30 = 'l'      'L'      0x0c     ' '      ''       'L'      'l'      ' '      ''       
+Key 0x31 = '/'      '?'      ''       ' '      ''       '/'      '?'      ' '      ''       
+Key 0x32 = '@'      '^'      ''       ' '      ''       '='      '+'      ' '      ''       
+Key 0x33 = '\\'     '|'      0x1c     ' '      ''       '\\'     '|'      ' '      ''       
+Key 0x34 = 0x7f     0x7f     0x7f     0x7f     0x7f     0x7f     0x7f     0x7f     0x7f     
+Key 0x35 = 0x04     0x04     0x04     0x04     0x04     0x04     0x04     0x04     0x04     
+Key 0x36 = 0x0c     0x0c     0x0c     0x0c     0x0c     0x0c     0x0c     0x0c     0x0c     
+Key 0x37 = 0x01     '7'      0x01     0x01     '7'      0x01     '7'      0x01     '7'      
+Key 0x38 = 0x1e     '8'      0x1e     0x1e     '8'      0x1e     '8'      0x1e     '8'      
+Key 0x39 = 0x0b     '9'      0x0b     0x0b     '9'      0x0b     '9'      0x0b     '9'      
+Key 0x3a = '+'      '+'      '+'      '+'      '+'      '+'      '+'      '+'      '+'      
+Key 0x3b = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x3c = 'a'      'A'      0x01     ' '      ''       'A'      'a'      ' '      ''       
+Key 0x3d = 'o'      'O'      0x0f     ' '      ''       'O'      'o'      ' '      ''       
+Key 0x3e = 'e'      'E'      0x05     ' '      ''       'E'      'e'      ' '      ''       
+Key 0x3f = 'u'      'U'      0x15     ' '      ''       'U'      'u'      ' '      ''       
+Key 0x40 = 'i'      'I'      0x09     ' '      ''       'I'      'i'      ' '      ''       
+Key 0x41 = 'd'      'D'      0x04     ' '      ''       'D'      'd'      ' '      ''       
+Key 0x42 = 'h'      'H'      0x08     ' '      ''       'H'      'h'      ' '      ''       
+Key 0x43 = 't'      'T'      0x14     ' '      ''       'T'      't'      ' '      ''       
+Key 0x44 = 'n'      'N'      0x0e     ' '      ''       'N'      'n'      ' '      ''       
+Key 0x45 = 's'      'S'      0x13     ' '      ''       'S'      's'      ' '      ''       
+Key 0x46 = '-'      '_'      0x1f     ' '      ''       '-'      '_'      ' '      ''       
+Key 0x47 = 0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     
+Key 0x48 = 0x1c     '4'      0x1c     0x1c     '4'      0x1c     '4'      0x1c     '4'      
+Key 0x49 = ''       '5'      ''       ''       '5'      ''       '5'      ''       '5'      
+Key 0x4a = 0x1d     '6'      0x1d     0x1d     '6'      0x1d     '6'      0x1d     '6'      
+Key 0x4b = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x4c = '\''     '"'      ''       ' '      ''       ';'      ':'      ' '      ''       
+Key 0x4d = 'q'      'Q'      0x11     ' '      ''       'Q'      'q'      ' '      ''       
+Key 0x4e = 'j'      'J'      0x0a     ' '      ''       'J'      'j'      ' '      ''       
+Key 0x4f = 'k'      'K'      0x0b     ' '      ''       'K'      'k'      ' '      ''       
+Key 0x50 = 'x'      'X'      0x18     ' '      ''       'X'      'x'      ' '      ''       
+Key 0x51 = 'b'      'B'      0x02     ' '      ''       'B'      'b'      ' '      ''       
+Key 0x52 = 'm'      'M'      0x0d     ' '      ''       'M'      'm'      ' '      ''       
+Key 0x53 = 'w'      'W'      0x17     ' '      ''       'W'      'w'      ' '      ''       
+Key 0x54 = 'v'      'V'      0x16     ' '      ''       'V'      'v'      ' '      ''       
+Key 0x55 = 'z'      'Z'      0x1a     ' '      ''       'Z'      'z'      ' '      ''       
+Key 0x56 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x57 = 0x1e     0x1e     0x1e     0x1e     0x1e     0x1e     0x1e     0x1e     0x1e     
+Key 0x58 = 0x04     '1'      0x04     0x04     '1'      0x04     '1'      0x04     '1'      
+Key 0x59 = 0x1f     '2'      0x1f     0x1f     '2'      0x1f     '2'      0x1f     '2'      
+Key 0x5a = 0x0c     '3'      0x0c     0x0c     '3'      0x0c     '3'      0x0c     '3'      
+Key 0x5b = 0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     0x0a     
+Key 0x5c = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x5d = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x5e = ' '      ' '      0x00     ' '      ' '      ' '      ' '      ' '      ' '      
+Key 0x5f = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x60 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x61 = 0x1c     0x1c     0x1c     0x1c     0x1c     0x1c     0x1c     0x1c     0x1c     
+Key 0x62 = 0x1f     0x1f     0x1f     0x1f     0x1f     0x1f     0x1f     0x1f     0x1f     
+Key 0x63 = 0x1d     0x1d     0x1d     0x1d     0x1d     0x1d     0x1d     0x1d     0x1d     
+Key 0x64 = 0x05     '0'      0x05     0x05     '0'      0x05     '0'      0x05     '0'      
+Key 0x65 = 0x7f     '.'      0x7f     0x7f     '.'      0x7f     '.'      0x7f     '.'      
+Key 0x66 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x67 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x68 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x69 = '\\'     '|'      0x1c     ' '      ''       '\\'     '|'      ' '      ''       
+Key 0x6a = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x6b = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x6c = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x6d = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x6e = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x6f = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x70 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x71 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x72 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x73 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x74 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x75 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x76 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x77 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x78 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x79 = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x7a = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x7b = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x7c = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x7d = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x7e = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Key 0x7f = ''       ''       ''       ''       ''       ''       ''       ''       ''       
+Acute ' '       = '\''     
+Acute 'A'       = 0xc381   
+Acute 'E'       = 0xc389   
+Acute 'I'       = 0xc38d   
+Acute 'O'       = 0xc393   
+Acute 'U'       = 0xc39a   
+Acute 'Y'       = 0xc39d   
+Acute 'a'       = 0xc3a1   
+Acute 'e'       = 0xc3a9   
+Acute 'i'       = 0xc3ad   
+Acute 'o'       = 0xc3b3   
+Acute 'u'       = 0xc3ba   
+Acute 'y'       = 0xc3bd   
+AcuteTab = 
+Grave ' '       = '`'      
+Grave 'A'       = 0xc380   
+Grave 'E'       = 0xc388   
+Grave 'I'       = 0xc38c   
+Grave 'O'       = 0xc392   
+Grave 'U'       = 0xc399   
+Grave 'a'       = 0xc3a0   
+Grave 'e'       = 0xc3a8   
+Grave 'i'       = 0xc3ac   
+Grave 'o'       = 0xc3b2   
+Grave 'u'       = 0xc3b9   
+GraveTab = 
+Circumflex ' '       = '^'      
+Circumflex 'A'       = 0xc382   
+Circumflex 'E'       = 0xc38a   
+Circumflex 'I'       = 0xc38e   
+Circumflex 'O'       = 0xc394   
+Circumflex 'U'       = 0xc39b   
+Circumflex 'a'       = 0xc3a2   
+Circumflex 'e'       = 0xc3aa   
+Circumflex 'i'       = 0xc3ae   
+Circumflex 'o'       = 0xc3b4   
+Circumflex 'u'       = 0xc3bb   
+CircumflexTab = 
+Diaeresis ' '       = '"'      
+Diaeresis 'A'       = 0xc384   
+Diaeresis 'E'       = 0xc38b   
+Diaeresis 'I'       = 0xc38f   
+Diaeresis 'O'       = 0xc396   
+Diaeresis 'U'       = 0xc39c   
+Diaeresis 'Y'       = 0xc5b8   
+Diaeresis 'a'       = 0xc3a4   
+Diaeresis 'e'       = 0xc3ab   
+Diaeresis 'i'       = 0xc3af   
+Diaeresis 'o'       = 0xc3b6   
+Diaeresis 'u'       = 0xc3bc   
+Diaeresis 'y'       = 0xc3bf   
+DiaeresisTab = 
+Tilde ' '       = '~'      
+Tilde 'A'       = 0xc383   
+Tilde 'O'       = 0xc395   
+Tilde 'N'       = 0xc391   
+Tilde 'a'       = 0xc3a3   
+Tilde 'o'       = 0xc3b5   
+Tilde 'n'       = 0xc3b1   
+TildeTab = 
