! neo.map - german NEO keyboard layout
! 2008 Pascal Hauck, <pascal.hauck@web.de>
!
! Diese Datei ist experimentell!
! Sollten Fehler auftreten oder sich verschiedene Linux-Distributionen
! anders verhalten als erwartet, sollte dies auf der Mailingliste
! der NEO-Tastaturbelegung gemeldet werden.
!
! Diese Keymap wird über einige Skripte automatisch aus der neo_de.xmodmap
! erzeugt.
!

keymaps 0-18
strings as usual
compose as usual
alt_is_meta
! --------------------------------------------------------------------------
! Modifier definitions
! --------------------------------------------------------------------------
                   keycode  42 = Shift           
#          shift   keycode  42 = Caps_Lock       
                   keycode  54 = Shift           
#          shift   keycode  54 = Caps_Lock       
                   keycode  58 = AltGr           
#          altgr   keycode  58 = AltGr_Lock      
                   keycode  43 = AltGr           
#          altgr   keycode  43 = AltGr_Lock      
                   keycode  86 = ShiftL          
#          shiftl  keycode  86 = ShiftL_Lock     
                   keycode 100 = ShiftL          
#          shiftl  keycode 100 = ShiftL_Lock     

                   keycode   1 = Escape          
   shift   altgr   keycode   1 = Meta_Escape     

! --------------------------------------------------------------------------
! function keys
! --------------------------------------------------------------------------
! ----Backspace-------------------------------------------------------------
                   keycode  14 = Delete          
! ----Return Enter----------------------------------------------------------
                   keycode  28 = Return          
           alt     keycode  28 = Meta_Control_m  
                   keycode  96 = KP_Enter        
           altgr   keycode  96 = Hex_F           
! ----Tab-------------------------------------------------------------------
                   keycode  15 = Tab              Meta_Tab        
           altgr   keycode  15 = Compose
! ----Control Alt-----------------------------------------------------------
                   keycode  29 = Control         
                   keycode  97 = Control         
                   keycode  56 = Alt             
! ----Prt SclLk Pause-------------------------------------------------------
                   keycode  99 =
           control keycode  99 = Control_backslash
           alt     keycode  99 = Control_backslash
   control alt	   keycode  99 = Meta_Control_backslash
                   keycode  70 = Scroll_Lock      Show_Memory      Show_Registers   Show_State      
           alt     keycode  70 = Scroll_Lock     
                   keycode 119 = Pause           
! ----Home block------------------------------------------------------------
                   keycode 102 = Find            
                   keycode 104 = Prior           
           shift   keycode 104 = Scroll_Backward 
                   keycode 107 = Select          
                   keycode 109 = Next            
           shift   keycode 109 = Scroll_Forward  
                   keycode 111 = Remove          
   altgr   control keycode 111 = Boot            
   control alt     keycode 111 = Boot            
                   keycode 110 = Insert          
! ----Navigation block------------------------------------------------------
                   keycode 103 = Up              
           alt     keycode 103 = KeyboardSignal  
                   keycode 105 = Left            
           alt     keycode 105 = Decr_Console    
                   keycode 106 = Right           
           alt     keycode 106 = Incr_Console    
                   keycode 108 = Down            
! ----Win keys--------------------------------------------------------------
                   keycode 125 = Decr_Console    Last_Console      Incr_Console     
                   keycode 126 = Incr_Console    Last_Console      Decr_Console     
! ----menue key-------------------------------------------------------------
                   keycode 127 = Compose         F100
! ----F-keys----------------------------------------------------------------
                   keycode  59 = F1               F13              Console_13       F25             
           alt     keycode  59 = Console_1       
   control alt     keycode  59 = Console_1       
                   keycode  60 = F2               F14              Console_14       F26             
           alt     keycode  60 = Console_2       
   control alt     keycode  60 = Console_2       
                   keycode  61 = F3               F15              Console_15       F27             
           alt     keycode  61 = Console_3       
   control alt     keycode  61 = Console_3       
                   keycode  62 = F4               F16              Console_16       F28             
           alt     keycode  62 = Console_4       
   control alt     keycode  62 = Console_4       
                   keycode  63 = F5               F17              Console_17       F29             
           alt     keycode  63 = Console_5       
   control alt     keycode  63 = Console_5       
                   keycode  64 = F6               F18              Console_18       F30             
           alt     keycode  64 = Console_6       
   control alt     keycode  64 = Console_6       
                   keycode  65 = F7               F19              Console_19       F31             
           alt     keycode  65 = Console_7       
   control alt     keycode  65 = Console_7       
                   keycode  66 = F8               F20              Console_20       F32             
           alt     keycode  66 = Console_8       
   control alt     keycode  66 = Console_8       
                   keycode  67 = F9               F21              Console_21       F33             
           alt     keycode  67 = Console_9       
   control alt     keycode  67 = Console_9       
                   keycode  68 = F10              F22              Console_22       F34             
           alt     keycode  68 = Console_10      
   control alt     keycode  68 = Console_10      
                   keycode  87 = F11              F23              Console_23       F35             
           alt     keycode  87 = Console_11      
   control alt     keycode  87 = Console_11      
                   keycode  88 = F12              F24              Console_24       F36             
           alt     keycode  88 = Console_12      
   control alt     keycode  88 = Console_12      
! ----unknown keys from defkeymap.map---------------------------------------
                   keycode  84 = Last_Console    
                   keycode  89 =
                   keycode  90 =
                   keycode  91 =
                   keycode  92 =
                   keycode  93 =
                   keycode  94 =
                   keycode  95 =
                   keycode 101 = Break           
                   keycode 112 = Macro           
   altgr   control keycode 112 = VoidSymbol      
   shift   alt     keycode 112 = VoidSymbol      
   altgr   alt     keycode 112 = VoidSymbol      
                   keycode 113 = F13             
   altgr   control keycode 113 = VoidSymbol      
   shift   alt     keycode 113 = VoidSymbol      
   altgr   alt     keycode 113 = VoidSymbol      
                   keycode 114 = F14             
   altgr   control keycode 114 = VoidSymbol      
   shift   alt     keycode 114 = VoidSymbol      
   altgr   alt     keycode 114 = VoidSymbol      
                   keycode 115 = Help            
   altgr   control keycode 115 = VoidSymbol      
   shift   alt     keycode 115 = VoidSymbol      
   altgr   alt     keycode 115 = VoidSymbol      
                   keycode 116 = Do              
   altgr   control keycode 116 = VoidSymbol      
   shift   alt     keycode 116 = VoidSymbol      
   altgr   alt     keycode 116 = VoidSymbol      
                   keycode 117 = F17             
   altgr   control keycode 117 = VoidSymbol      
   shift   alt     keycode 117 = VoidSymbol      
   altgr   alt     keycode 117 = VoidSymbol      
                   keycode 118 = KP_MinPlus      
   altgr   control keycode 118 = VoidSymbol      
   shift   alt     keycode 118 = VoidSymbol      
   altgr   alt     keycode 118 = VoidSymbol      
                   keycode 119 = Pause
                   keycode 120 =
                   keycode 121 =
                   keycode 122 =
                   keycode 123 =
                   keycode 124 =


! ----Space key-------------------------------------------------------------
                   keycode  57 = space                 space                 space                 nobreakspace          
           shiftl  keycode  57 = KP_0                  
   shift   shiftl  keycode  57 = KP_0                  
   altgr   shiftl  keycode  57 = U+202F                

! ----dead keys-------------------------------------------------------------
                   keycode  41 = dead_circumflex       dead_tilde            U+030a                dead_breve            
           shiftl  keycode  41 = dead_caron            
   altgr   shiftl  keycode  41 = U+0304                
                   keycode  13 = dead_grave            VoidSymbol            dead_diaeresis        U+1FFE                
           shiftl  keycode  13 = U+02F5                
                   keycode  27 = dead_acute            dead_cedilla          VoidSymbol            U+1FBF                
           shiftl  keycode  27 = dead_doubleacute      
   altgr   shiftl  keycode  27 = U+0307                

! --------------------------------------------------------------------------
! Row 1 (number row)
! --------------------------------------------------------------------------
                   keycode   2 = one                   degree                onesuperior           VoidSymbol            
           shiftl  keycode   2 = ordfeminine           
   altgr   shiftl  keycode   2 = notsign               
                   keycode   3 = two                   section               twosuperior           VoidSymbol            
           shiftl  keycode   3 = masculine             
   altgr   shiftl  keycode   3 = U+2228                
                   keycode   4 = three                 U+2113                threesuperior         VoidSymbol            
           shiftl  keycode   4 = U+2116                
   altgr   shiftl  keycode   4 = U+2227                
                   keycode   5 = four                  guillemotright        U+203A                U+2640                
           shiftl  keycode   5 = Prior                 
   shift   shiftl  keycode   5 = Prior                 
   altgr   shiftl  keycode   5 = U+22a4                
                   keycode   6 = five                  guillemotleft         U+2039                U+2642                
           shiftl  keycode   6 = periodcentered        
   altgr   shiftl  keycode   6 = U+2221                
                   keycode   7 = six                   U+20ac                cent                  U+26A5                
           shiftl  keycode   7 = sterling              
   altgr   shiftl  keycode   7 = U+2225                
                   keycode   8 = seven                 dollar                yen                   U+03ba                
           shiftl  keycode   8 = currency              
   altgr   shiftl  keycode   8 = U+2192                
                   keycode   9 = eight                 U+201e                U+201a                U+2329                
   altgr   shiftl  keycode   9 = U+221e                
                   keycode  10 = nine                  U+201c                U+2018                U+232a                
           shiftl  keycode  10 = KP_Divide             
   shift   shiftl  keycode  10 = KP_Divide             
                   keycode  11 = zero                  U+201d                U+2019                VoidSymbol            
           shiftl  keycode  11 = KP_Multiply           
   shift   shiftl  keycode  11 = KP_Multiply           
                   keycode  12 = minus                 U+2014                VoidSymbol            U+2011                
           shiftl  keycode  12 = KP_Subtract           
   shift   shiftl  keycode  12 = KP_Subtract           
   altgr   shiftl  keycode  12 = hyphen                

! --------------------------------------------------------------------------
! Row 2 (upper row)
! --------------------------------------------------------------------------
                   keycode  16 = x                     
           altgr   keycode  16 = U+2026                
   shift   altgr   keycode  16 = U+03be                
           shiftl  keycode  16 = U+22EE                
   altgr   shiftl  keycode  16 = U+039e                
                   keycode  17 = v                     
           altgr   keycode  17 = underscore            
           shiftl  keycode  17 = BackSpace             
   shift   shiftl  keycode  17 = BackSpace             
   altgr   shiftl  keycode  17 = U+222E                
                   keycode  18 = l                     
           altgr   keycode  18 = bracketleft           
   shift   altgr   keycode  18 = U+03bb                
           shiftl  keycode  18 = Up                    
   shift   shiftl  keycode  18 = Up                    
   altgr   shiftl  keycode  18 = U+039b                
                   keycode  19 = c                     
           altgr   keycode  19 = bracketright          
   shift   altgr   keycode  19 = U+03c7                
           shiftl  keycode  19 = Remove                
   shift   shiftl  keycode  19 = Remove                
   altgr   shiftl  keycode  19 = U+2102                
                   keycode  20 = w                     
           altgr   keycode  20 = asciicircum           
   shift   altgr   keycode  20 = U+03c9                
           shiftl  keycode  20 = Insert                
   shift   shiftl  keycode  20 = Insert                
   altgr   shiftl  keycode  20 = U+03a9                
                   keycode  21 = k                     
           altgr   keycode  21 = exclam                
   shift   altgr   keycode  21 = U+03F0                
           shiftl  keycode  21 = exclamdown            
   altgr   shiftl  keycode  21 = U+221a                
                   keycode  22 = h                     
           altgr   keycode  22 = less                  
   shift   altgr   keycode  22 = U+03c8                
           shiftl  keycode  22 = KP_7                  
   shift   shiftl  keycode  22 = KP_7                  
   altgr   shiftl  keycode  22 = U+03a8                
                   keycode  23 = g                     
           altgr   keycode  23 = greater               
   shift   altgr   keycode  23 = U+03b3                
           shiftl  keycode  23 = KP_8                  
   shift   shiftl  keycode  23 = KP_8                  
   altgr   shiftl  keycode  23 = U+0393                
                   keycode  24 = f                     
           altgr   keycode  24 = equal                 
   shift   altgr   keycode  24 = U+03c6                
           shiftl  keycode  24 = KP_9                  
   shift   shiftl  keycode  24 = KP_9                  
   altgr   shiftl  keycode  24 = U+03a6                
                   keycode  25 = q                     
           altgr   keycode  25 = ampersand             
   shift   altgr   keycode  25 = U+03D5                
           shiftl  keycode  25 = KP_Add                
   shift   shiftl  keycode  25 = KP_Add                
   altgr   shiftl  keycode  25 = U+211A                
                   keycode  26 = ssharp                U+1E9E                U+017F                U+03c2                
   altgr   shiftl  keycode  26 = U+2218                

! --------------------------------------------------------------------------
! Row 3 (home row, middle row)
! --------------------------------------------------------------------------
                   keycode  30 = u                     
           altgr   keycode  30 = backslash             
           shiftl  keycode  30 = Home                  
   shift   shiftl  keycode  30 = Home                  
   altgr   shiftl  keycode  30 = U+00B5                
                   keycode  31 = i                     
           altgr   keycode  31 = slash                 
   shift   altgr   keycode  31 = U+03b9                
           shiftl  keycode  31 = Left                  
   shift   shiftl  keycode  31 = Left                  
   altgr   shiftl  keycode  31 = U+222b                
                   keycode  32 = a                     
           altgr   keycode  32 = braceleft             
   shift   altgr   keycode  32 = U+03b1                
           shiftl  keycode  32 = Down                  
   shift   shiftl  keycode  32 = Down                  
   altgr   shiftl  keycode  32 = U+2200                
                   keycode  33 = e                     
           altgr   keycode  33 = braceright            
   shift   altgr   keycode  33 = U+03b5                
           shiftl  keycode  33 = Right                 
   shift   shiftl  keycode  33 = Right                 
   altgr   shiftl  keycode  33 = U+2203                
                   keycode  34 = o                     
           altgr   keycode  34 = asterisk              
   shift   altgr   keycode  34 = U+03bf                
           shiftl  keycode  34 = End                   
   shift   shiftl  keycode  34 = End                   
                   keycode  35 = s                     
           altgr   keycode  35 = question              
   shift   altgr   keycode  35 = U+03c3                
           shiftl  keycode  35 = questiondown          
   altgr   shiftl  keycode  35 = U+03a3                
                   keycode  36 = n                     
           altgr   keycode  36 = parenleft             
   shift   altgr   keycode  36 = U+03bd                
           shiftl  keycode  36 = KP_4                  
   shift   shiftl  keycode  36 = KP_4                  
   altgr   shiftl  keycode  36 = U+2115                
                   keycode  37 = r                     
           altgr   keycode  37 = parenright            
   shift   altgr   keycode  37 = U+03F1                
           shiftl  keycode  37 = KP_5                  
   shift   shiftl  keycode  37 = KP_5                  
   altgr   shiftl  keycode  37 = U+211D                
                   keycode  38 = t                     
           altgr   keycode  38 = minus                 
   shift   altgr   keycode  38 = U+03c4                
           shiftl  keycode  38 = KP_6                  
   shift   shiftl  keycode  38 = KP_6                  
   altgr   shiftl  keycode  38 = U+2202                
                   keycode  39 = d                     
           altgr   keycode  39 = colon                 
   shift   altgr   keycode  39 = U+03b4                
           shiftl  keycode  39 = U+002c                
   altgr   shiftl  keycode  39 = U+0394                
                   keycode  40 = y                     
           altgr   keycode  40 = at                    
   shift   altgr   keycode  40 = U+03c5                
           shiftl  keycode  40 = U+002e                
   altgr   shiftl  keycode  40 = U+2207                

! --------------------------------------------------------------------------
! Row 4 (lower row)
! --------------------------------------------------------------------------
                   keycode  44 = udiaeresis            Udiaeresis            numbersign            VoidSymbol            
           shiftl  keycode  44 = Escape                
   shift   shiftl  keycode  44 = Escape                
   altgr   shiftl  keycode  44 = U+211C                
                   keycode  45 = odiaeresis            Odiaeresis            dollar                U+03F5                
           shiftl  keycode  45 = Tab                   
   altgr   shiftl  keycode  45 = U+2111                
                   keycode  46 = adiaeresis            Adiaeresis            bar                   U+03b7                
           shiftl  keycode  46 = Next                  
   shift   shiftl  keycode  46 = Next                  
   altgr   shiftl  keycode  46 = U+2135                
                   keycode  47 = p                     
           altgr   keycode  47 = asciitilde            
   shift   altgr   keycode  47 = U+03c0                
           shiftl  keycode  47 = Return                
   shift   shiftl  keycode  47 = Return                
   altgr   shiftl  keycode  47 = U+03a0                
                   keycode  48 = z                     
           altgr   keycode  48 = grave                 
   shift   altgr   keycode  48 = U+03b6                
   altgr   shiftl  keycode  48 = U+2124                
                   keycode  49 = b                     
           altgr   keycode  49 = plus                  
   shift   altgr   keycode  49 = U+03b2                
           shiftl  keycode  49 = colon                 
   altgr   shiftl  keycode  49 = U+21D0                
                   keycode  50 = m                     
           altgr   keycode  50 = percent               
   shift   altgr   keycode  50 = U+03bc                
           shiftl  keycode  50 = KP_1                  
   shift   shiftl  keycode  50 = KP_1                  
   altgr   shiftl  keycode  50 = U+21d4                
                   keycode  51 = comma                 U+2013                quotedbl              U+03c1                
           shiftl  keycode  51 = KP_2                  
   shift   shiftl  keycode  51 = KP_2                  
   altgr   shiftl  keycode  51 = U+21D2                
                   keycode  52 = period                U+2022                apostrophe            U+03D1                
           shiftl  keycode  52 = KP_3                  
   shift   shiftl  keycode  52 = KP_3                  
   altgr   shiftl  keycode  52 = U+0398                
                   keycode  53 = j                     
           altgr   keycode  53 = semicolon             
   shift   altgr   keycode  53 = U+03b8                
           shiftl  keycode  53 = semicolon             
   altgr   shiftl  keycode  53 = U+221d                

! --------------------------------------------------------------------------
! Keypad Row 1 (uppest row)
! --------------------------------------------------------------------------
                   keycode  69 = Tab                   VoidSymbol            equal                 VoidSymbol            
           shiftl  keycode  69 = U+2260                
   altgr   shiftl  keycode  69 = U+2261                
                   keycode  98 = KP_Divide             KP_Divide             division              U+2300                
           shiftl  keycode  98 = U+2044                
   altgr   shiftl  keycode  98 = U+2223                
                   keycode  55 = KP_Multiply           KP_Multiply           U+22C5                U+2299                
           shiftl  keycode  55 = multiply              
   altgr   shiftl  keycode  55 = U+2297                
                   keycode  74 = KP_Subtract           KP_Subtract           U+2212                U+2296                
           shiftl  keycode  74 = U+2216                
   altgr   shiftl  keycode  74 = U+2238                

! --------------------------------------------------------------------------
! Keypad Row 2 (upper row)
! --------------------------------------------------------------------------
                   keycode  71 = KP_7                  U+2714                U+2195                U+226A                
   altgr   shiftl  keycode  71 = U+2308                
                   keycode  72 = KP_8                  U+2718                U+2191                U+2229                
   altgr   shiftl  keycode  72 = U+22C2                
                   keycode  73 = KP_9                  U+2020                U+20D7                U+226B                
   altgr   shiftl  keycode  73 = U+2309                
                   keycode  78 = KP_Add                KP_Add                plusminus             U+2295                
           shiftl  keycode  78 = U+2213                
   altgr   shiftl  keycode  78 = U+2214                

! --------------------------------------------------------------------------
! Keypad Row 3 (home row, middle row)
! --------------------------------------------------------------------------
                   keycode  75 = KP_4                  U+2663                U+2190                U+2282                
   altgr   shiftl  keycode  75 = U+2286                
                   keycode  76 = KP_5                  U+20ac                brokenbar             U+22B6                
   altgr   shiftl  keycode  76 = U+22B7                
                   keycode  77 = KP_6                  U+2023                U+2192                U+2283                
   altgr   shiftl  keycode  77 = U+2287                

! --------------------------------------------------------------------------
! Keypad Row 4 (lower row)
! --------------------------------------------------------------------------
                   keycode  79 = KP_1                  U+2666                U+2194                U+2264                
   altgr   shiftl  keycode  79 = U+230a                
                   keycode  80 = KP_2                  U+2665                U+2193                U+222a                
   altgr   shiftl  keycode  80 = U+22C3                
                   keycode  81 = KP_3                  U+2660                U+21CC                U+2265                
   altgr   shiftl  keycode  81 = U+230B                

! --------------------------------------------------------------------------
! Keypad Row 5 (lowest row)
! --------------------------------------------------------------------------
                   keycode  82 = comma                 period                U+002c                U+2032                
           shiftl  keycode  82 = Remove                
   shift   shiftl  keycode  82 = Remove                
   altgr   shiftl  keycode  82 = U+2033                
                   keycode  83 = comma                 period                U+002c                U+2032                
           shiftl  keycode  83 = Remove                
   shift   shiftl  keycode  83 = Remove                
   altgr   shiftl  keycode  83 = U+2033                


! --------------------------------------------------------------------------
! additional Keys with control function (has to be edited manually!!!!)
! --------------------------------------------------------------------------
           control keycode  57 = nul
# for some obscure reason, this is required even when we set alt_is_meta
   alt     control keycode  57 = Meta_nul
   control altgr   keycode  30 = Control_backslash
   control altgr   keycode  19 = Control_bracketright
   control altgr   keycode  17 = Control_underscore
   control altgr   keycode  20 = Control_asciicircum


! --------------------------------------------------------------------------
! Strings and Compose
! --------------------------------------------------------------------------
# string F100 = "setleds +num\n"
