diff -ur kernel-8.0/arch/mips/vr41xx/agenda_vr3_keymap.map kernel-8.0-w1/arch/mips/vr41xx/agenda_vr3_keymap.map
--- kernel-8.0/arch/mips/vr41xx/agenda_vr3_keymap.map	Thu Nov 15 21:52:01 2001
+++ kernel-8.0-w1/arch/mips/vr41xx/agenda_vr3_keymap.map	Tue Oct  1 09:08:07 2002
@@ -1,91 +1,381 @@
-# agenda_vr3_keymap.map
-# Keymap for the Agenda VR3
-#
-# Copyright (C) 1999 Bradley D. LaRonde
-#
-# To generate keymap.c:
-#     loadkeys -m this_file > keymap.c
-#
-# This file is subject to the terms and conditions of the GNU General Public
-# License.  See the file "COPYING" in the main directory of this archive
-# for more details.
-
-keymaps 0-2,4-5,8,12
-
-# real keys
-keycode 48 = Prior  # side top button
-keycode 32 = Next   # side middle button
-keycode 80 = Left   # front left button
-keycode 96 = Right  # front right button
-keycode 0 =  Shift  # left action button
-keycode 16 = Shift  # right action button
-
-# keycodes for keypress synthesis
-keycode 1 = Shift
-keycode 2 = Caps_Lock
-keycode 3 = Control
-keycode 4 = Alt
-keycode 5 = Tab
-keycode 6 = space
-keycode 7 = Return
-keycode 8 = Escape
-keycode 9 = Left Home
-keycode 10 = Right End
-keycode 11 = Up Prior
-Keycode 12 = Down Next
-keycode 13 = BackSpace Delete
-
-keycode 17 = bracketleft braceleft
-keycode 18 = bracketright braceright
-keycode 19 = backslash bar
-keycode 20 = semicolon colon
-keycode 21 = apostrophe quotedbl
-keycode 22 = comma less
-keycode 23 = period greater
-keycode 24 = slash question
-
-keycode 33 = grave asciitilde
-keycode 34 = one exclam
-keycode 35 = two at at nul nul Meta_two
-keycode 36 = three numbersign
-keycode 37 = four dollar
-keycode 38 = five percent
-keycode 39 = six asciicircum
-keycode 40 = seven ampersand
-keycode 41 = eight asterisk
-keycode 42 = nine parenleft
-keycode 43 = zero parenright
-keycode 44 = minus underscore
-keycode 45 = equal plus
-
-keycode 81 = a
-keycode 82 = b
-keycode 83 = c
-keycode 84 = d
-keycode 85 = e
-keycode 86 = f
-keycode 87 = g
-keycode 88 = h
-keycode 89 = i
-keycode 90 = j
-keycode 91 = k
-keycode 92 = l
-keycode 93 = m
-keycode 94 = n
-keycode 95 = o
-# 96 used by Next
-keycode 97 = p
-keycode 98 = q
-keycode 99 = r
-keycode 100 = s
-keycode 101 = t
-keycode 102 = u
-keycode 103 = v
-keycode 104 = w
-keycode 105 = x
-keycode 106 = y
-keycode 107 = z
-
+keymaps 0-15
+keycode   1 = Escape          
+	alt	keycode   1 = Meta_Escape     
+	shift	alt	keycode   1 = Meta_Escape     
+	altgr	alt	keycode   1 = Meta_Escape     
+	shift	altgr	alt	keycode   1 = Meta_Escape     
+	control	alt	keycode   1 = Meta_Escape     
+	shift	control	alt	keycode   1 = Meta_Escape     
+	altgr	control	alt	keycode   1 = Meta_Escape     
+	shift	altgr	control	alt	keycode   1 = Meta_Escape     
+keycode   2 = one              exclam           plus             one             
+	alt	keycode   2 = Meta_one        
+	shift	alt	keycode   2 = Meta_exclam     
+	altgr	alt	keycode   2 = Meta_plus       
+	shift	altgr	alt	keycode   2 = Meta_one        
+keycode   3 = two              at               mu               two             
+	alt	keycode   3 = Meta_two        
+	shift	alt	keycode   3 = Meta_at         
+	shift	altgr	alt	keycode   3 = Meta_two        
+keycode   4 = three            numbersign       onesuperior      three            Escape          
+	alt	keycode   4 = Meta_three      
+	shift	alt	keycode   4 = Meta_numbersign 
+	shift	altgr	alt	keycode   4 = Meta_three      
+	control	alt	keycode   4 = Meta_Escape     
+keycode   5 = four             dollar           egrave           four             Control_backslash
+	alt	keycode   5 = Meta_four       
+	shift	alt	keycode   5 = Meta_dollar     
+	shift	altgr	alt	keycode   5 = Meta_four       
+	control	alt	keycode   5 = Meta_Control_backslash
+keycode   6 = five             percent          guillemotright   five             Control_bracketright
+	alt	keycode   6 = Meta_five       
+	shift	alt	keycode   6 = Meta_percent    
+	shift	altgr	alt	keycode   6 = Meta_five       
+	control	alt	keycode   6 = Meta_Control_bracketright
+keycode   7 = six              asciicircum      threequarters    six              Control_asciicircum
+	alt	keycode   7 = Meta_six        
+	shift	alt	keycode   7 = Meta_asciicircum
+	shift	altgr	alt	keycode   7 = Meta_six        
+	control	alt	keycode   7 = Meta_Control_asciicircum
+keycode   8 = seven            ampersand        yacute           seven            Control_underscore
+	alt	keycode   8 = Meta_seven      
+	shift	alt	keycode   8 = Meta_ampersand  
+	shift	altgr	alt	keycode   8 = Meta_seven      
+	control	alt	keycode   8 = Meta_Control_underscore
+keycode   9 = eight            asterisk         aacute           eight            Delete          
+	alt	keycode   9 = Meta_eight      
+	shift	alt	keycode   9 = Meta_asterisk   
+	shift	altgr	alt	keycode   9 = Meta_eight      
+	control	alt	keycode   9 = Meta_Delete     
+keycode  10 = nine             parenleft        iacute           nine            
+	alt	keycode  10 = Meta_nine       
+	shift	alt	keycode  10 = Meta_parenleft  
+	shift	altgr	alt	keycode  10 = Meta_nine       
+keycode  11 = zero             parenright       eacute           zero            
+	alt	keycode  11 = Meta_zero       
+	shift	alt	keycode  11 = Meta_parenright 
+	shift	altgr	alt	keycode  11 = Meta_zero       
+keycode  12 = minus            underscore       equal            percent         
+	alt	keycode  12 = Meta_minus      
+	shift	alt	keycode  12 = Meta_underscore 
+	altgr	alt	keycode  12 = Meta_equal      
+	shift	altgr	alt	keycode  12 = Meta_percent    
+keycode  13 = equal            plus             dead_acute       dead_circumflex 
+	alt	keycode  13 = Meta_equal      
+	shift	alt	keycode  13 = Meta_plus       
+keycode  14 = Delete          
+	alt	keycode  14 = Meta_Delete     
+	shift	alt	keycode  14 = Meta_Delete     
+	altgr	alt	keycode  14 = Meta_Delete     
+	shift	altgr	alt	keycode  14 = Meta_Delete     
+	control	alt	keycode  14 = Meta_Delete     
+	shift	control	alt	keycode  14 = Meta_Delete     
+	altgr	control	alt	keycode  14 = Meta_Delete     
+	shift	altgr	control	alt	keycode  14 = Meta_Delete     
+keycode  15 = Tab             
+	alt	keycode  15 = Meta_Tab        
+	shift	alt	keycode  15 = Meta_Tab        
+	altgr	alt	keycode  15 = Meta_Tab        
+	shift	altgr	alt	keycode  15 = Meta_Tab        
+	control	alt	keycode  15 = Meta_Tab        
+	shift	control	alt	keycode  15 = Meta_Tab        
+	altgr	control	alt	keycode  15 = Meta_Tab        
+	shift	altgr	control	alt	keycode  15 = Meta_Tab        
+keycode  16 = q               
+keycode  17 = w               
+keycode  18 = e               
+keycode  19 = r               
+keycode  20 = t               
+keycode  21 = y               
+keycode  22 = u               
+keycode  23 = i               
+keycode  24 = o               
+keycode  25 = p               
+keycode  26 = bracketleft      braceleft        uacute           slash            Escape          
+	alt	keycode  26 = Meta_bracketleft
+	shift	alt	keycode  26 = Meta_braceleft  
+	shift	altgr	alt	keycode  26 = Meta_slash      
+	control	alt	keycode  26 = Meta_Escape     
+keycode  27 = bracketright     braceright       adiaeresis       parenleft        Control_bracketright
+	alt	keycode  27 = Meta_bracketright
+	shift	alt	keycode  27 = Meta_braceright 
+	shift	altgr	alt	keycode  27 = Meta_parenleft  
+	control	alt	keycode  27 = Meta_Control_bracketright
+keycode  28 = Return          
+	alt	keycode  28 = Meta_Control_m  
+	altgr	alt	keycode  28 = Meta_Control_m  
+keycode  29 = Control         
+keycode  30 = a               
+keycode  31 = s               
+keycode  32 = d               
+keycode  33 = f               
+keycode  34 = g               
+keycode  35 = h               
+keycode  36 = j               
+keycode  37 = k               
+keycode  38 = l               
+keycode  39 = semicolon        colon            ocircumflex      quotedbl        
+	alt	keycode  39 = Meta_semicolon  
+	shift	alt	keycode  39 = Meta_colon      
+	shift	altgr	alt	keycode  39 = Meta_quotedbl   
+keycode  40 = apostrophe       quotedbl         section          exclam           Control_g       
+	alt	keycode  40 = Meta_apostrophe 
+	shift	alt	keycode  40 = Meta_quotedbl   
+	shift	altgr	alt	keycode  40 = Meta_exclam     
+	control	alt	keycode  40 = Meta_Control_g  
+keycode  41 = grave            asciitilde       dead_diaeresis   dead_circumflex  nul             
+	alt	keycode  41 = Meta_grave      
+	shift	alt	keycode  41 = Meta_asciitilde 
+	control	alt	keycode  41 = Meta_nul        
+keycode  42 = Shift           
+keycode  43 = backslash        bar              ograve           parenright       Control_backslash
+	alt	keycode  43 = Meta_backslash  
+	shift	alt	keycode  43 = Meta_bar        
+	shift	altgr	alt	keycode  43 = Meta_parenright 
+	control	alt	keycode  43 = Meta_Control_backslash
+keycode  44 = z               
+keycode  45 = x               
+keycode  46 = c               
+keycode  47 = v               
+keycode  48 = b               
+keycode  49 = n               
+keycode  50 = m               
+keycode  51 = comma            less             comma            question        
+	alt	keycode  51 = Meta_comma      
+	shift	alt	keycode  51 = Meta_less       
+	altgr	alt	keycode  51 = Meta_comma      
+	shift	altgr	alt	keycode  51 = Meta_question   
+keycode  52 = period           greater          period           colon            Compose         
+	alt	keycode  52 = Meta_period     
+	shift	alt	keycode  52 = Meta_greater    
+	altgr	alt	keycode  52 = Meta_period     
+	shift	altgr	alt	keycode  52 = Meta_colon      
+keycode  53 = slash            question         minus            underscore       Delete          
+	alt	keycode  53 = Meta_slash      
+	shift	alt	keycode  53 = Meta_question   
+	altgr	alt	keycode  53 = Meta_minus      
+	shift	altgr	alt	keycode  53 = Meta_underscore 
+	control	alt	keycode  53 = Meta_Delete     
+keycode  54 = Shift           
+keycode  55 = KP_Multiply     
+keycode  56 = Alt             
+keycode  57 = space           
+	control	keycode  57 = nul             
+	shift	control	keycode  57 = nul             
+	altgr	control	keycode  57 = nul             
+	shift	altgr	control	keycode  57 = nul             
+	alt	keycode  57 = Meta_space      
+	shift	alt	keycode  57 = Meta_space      
+	altgr	alt	keycode  57 = Meta_space      
+	shift	altgr	alt	keycode  57 = Meta_space      
+	control	alt	keycode  57 = Meta_nul        
+	shift	control	alt	keycode  57 = Meta_nul        
+	altgr	control	alt	keycode  57 = Meta_nul        
+	shift	altgr	control	alt	keycode  57 = Meta_nul        
+keycode  58 = Control         
+keycode  59 = F1               F13              F1               F13              F25              F37              F25             
+	alt	keycode  59 = Console_1       
+	shift	alt	keycode  59 = Console_13      
+	altgr	alt	keycode  59 = Console_1       
+	control	alt	keycode  59 = Console_1       
+	altgr	control	alt	keycode  59 = Console_1       
+keycode  60 = F2               F14              F2               F14              F26              F38              F26             
+	alt	keycode  60 = Console_2       
+	shift	alt	keycode  60 = Console_14      
+	altgr	alt	keycode  60 = Console_2       
+	control	alt	keycode  60 = Console_2       
+	altgr	control	alt	keycode  60 = Console_2       
+keycode  61 = F3               F15              F3               F15              F27              F39              F27             
+	alt	keycode  61 = Console_3       
+	shift	alt	keycode  61 = Console_15      
+	altgr	alt	keycode  61 = Console_3       
+	control	alt	keycode  61 = Console_3       
+	altgr	control	alt	keycode  61 = Console_3       
+keycode  62 = F4               F16              F4               F16              F28              F40              F28             
+	alt	keycode  62 = Console_4       
+	shift	alt	keycode  62 = Console_16      
+	altgr	alt	keycode  62 = Console_4       
+	control	alt	keycode  62 = Console_4       
+	altgr	control	alt	keycode  62 = Console_4       
+keycode  63 = F5               F17              F5               F17              F29              F41              F29             
+	alt	keycode  63 = Console_5       
+	shift	alt	keycode  63 = Console_17      
+	altgr	alt	keycode  63 = Console_5       
+	control	alt	keycode  63 = Console_5       
+	altgr	control	alt	keycode  63 = Console_5       
+keycode  64 = F6               F18              F6               F18              F30              F42              F30             
+	alt	keycode  64 = Console_6       
+	shift	alt	keycode  64 = Console_18      
+	altgr	alt	keycode  64 = Console_6       
+	control	alt	keycode  64 = Console_6       
+	altgr	control	alt	keycode  64 = Console_6       
+keycode  65 = F7               F19              F7               F19              F31              F43              F31             
+	alt	keycode  65 = Console_7       
+	shift	alt	keycode  65 = Console_19      
+	altgr	alt	keycode  65 = Console_7       
+	control	alt	keycode  65 = Console_7       
+	altgr	control	alt	keycode  65 = Console_7       
+keycode  66 = F8               F20              F8               F20              F32              F44              F32             
+	alt	keycode  66 = Console_8       
+	shift	alt	keycode  66 = Console_20      
+	altgr	alt	keycode  66 = Console_8       
+	control	alt	keycode  66 = Console_8       
+	altgr	control	alt	keycode  66 = Console_8       
+keycode  67 = F9               F21              F9               F21              F33              F45              F33             
+	alt	keycode  67 = Console_9       
+	shift	alt	keycode  67 = Console_21      
+	altgr	alt	keycode  67 = Console_9       
+	control	alt	keycode  67 = Console_9       
+	altgr	control	alt	keycode  67 = Console_9       
+keycode  68 = F10              F22              F10              F22              F34              F46              F34             
+	alt	keycode  68 = Console_10      
+	shift	alt	keycode  68 = Console_22      
+	altgr	alt	keycode  68 = Console_10      
+	control	alt	keycode  68 = Console_10      
+	altgr	control	alt	keycode  68 = Console_10      
+keycode  69 = Num_Lock        
+keycode  70 = Scroll_Lock      Show_Memory      Show_Registers  
+	control	keycode  70 = Show_State      
+	alt	keycode  70 = Scroll_Lock     
+keycode  71 = KP_7            
+	alt	keycode  71 = Ascii_7         
+	altgr	alt	keycode  71 = Ascii_7         
+keycode  72 = KP_8            
+	alt	keycode  72 = Ascii_8         
+	altgr	alt	keycode  72 = Ascii_8         
+keycode  73 = KP_9            
+	alt	keycode  73 = Ascii_9         
+	altgr	alt	keycode  73 = Ascii_9         
+keycode  74 = KP_Subtract     
+keycode  75 = KP_4            
+	alt	keycode  75 = Ascii_4         
+	altgr	alt	keycode  75 = Ascii_4         
+keycode  76 = KP_5            
+	alt	keycode  76 = Ascii_5         
+	altgr	alt	keycode  76 = Ascii_5         
+keycode  77 = KP_6            
+	alt	keycode  77 = Ascii_6         
+	altgr	alt	keycode  77 = Ascii_6         
+keycode  78 = KP_Add          
+keycode  79 = KP_1            
+	alt	keycode  79 = Ascii_1         
+	altgr	alt	keycode  79 = Ascii_1         
+keycode  80 = KP_2            
+	alt	keycode  80 = Ascii_2         
+	altgr	alt	keycode  80 = Ascii_2         
+keycode  81 = KP_3            
+	alt	keycode  81 = Ascii_3         
+	altgr	alt	keycode  81 = Ascii_3         
+keycode  82 = KP_0            
+	alt	keycode  82 = Ascii_0         
+	altgr	alt	keycode  82 = Ascii_0         
+keycode  83 = KP_Period       
+	control	alt	keycode  83 = Boot            
+	altgr	control	alt	keycode  83 = Boot            
+keycode  84 = Last_Console    
+keycode  85 =
+keycode  86 = less             greater          bar             
+	alt	keycode  86 = Meta_less       
+	shift	alt	keycode  86 = Meta_greater    
+	altgr	alt	keycode  86 = Meta_bar        
+keycode  87 = F11              F23              F11              F23              F35              F47              F35             
+	alt	keycode  87 = Console_11      
+	shift	alt	keycode  87 = Console_23      
+	altgr	alt	keycode  87 = Console_11      
+	control	alt	keycode  87 = Console_11      
+	altgr	control	alt	keycode  87 = Console_11      
+keycode  88 = F12              F24              F12              F24              F36              F48              F36             
+	alt	keycode  88 = Console_12      
+	shift	alt	keycode  88 = Console_24      
+	altgr	alt	keycode  88 = Console_12      
+	control	alt	keycode  88 = Console_12      
+	altgr	control	alt	keycode  88 = Console_12      
+keycode  89 =
+keycode  90 =
+keycode  91 =
+keycode  92 =
+keycode  93 =
+keycode  94 =
+keycode  95 =
+keycode  96 = KP_Enter        
+keycode  97 = Caps_Lock       
+keycode  98 = KP_Divide       
+keycode  99 = Control_backslash
+	shift	alt	keycode  99 = Meta_Control_backslash
+	altgr	alt	keycode  99 = Meta_Control_backslash
+	shift	altgr	alt	keycode  99 = Meta_Control_backslash
+	control	alt	keycode  99 = Meta_Control_backslash
+	shift	control	alt	keycode  99 = Meta_Control_backslash
+	altgr	control	alt	keycode  99 = Meta_Control_backslash
+	shift	altgr	control	alt	keycode  99 = Meta_Control_backslash
+keycode 100 = AltGr           
+keycode 101 = Break           
+keycode 102 = Find            
+keycode 103 = Up              
+	alt	keycode 103 = KeyboardSignal  
+	altgr	alt	keycode 103 = KeyboardSignal  
+keycode 104 = Prior           
+	shift	keycode 104 = Scroll_Backward 
+	shift	altgr	keycode 104 = Scroll_Backward 
+keycode 105 = Left            
+	alt	keycode 105 = Decr_Console    
+	altgr	alt	keycode 105 = Decr_Console    
+keycode 106 = Right           
+	alt	keycode 106 = Incr_Console    
+	altgr	alt	keycode 106 = Incr_Console    
+keycode 107 = Select          
+keycode 108 = Down            
+keycode 109 = Next            
+	shift	keycode 109 = Scroll_Forward  
+	shift	altgr	keycode 109 = Scroll_Forward  
+keycode 110 = Insert          
+keycode 111 = Remove          
+	control	alt	keycode 111 = Boot            
+	altgr	control	alt	keycode 111 = Boot            
+keycode 112 = Macro            Macro            Macro           
+	control	keycode 112 = Macro           
+	shift	control	keycode 112 = Macro           
+	alt	keycode 112 = Macro           
+	control	alt	keycode 112 = Macro           
+keycode 113 = F13              F13              F13             
+	control	keycode 113 = F13             
+	shift	control	keycode 113 = F13             
+	alt	keycode 113 = F13             
+	control	alt	keycode 113 = F13             
+keycode 114 = F14              F14              F14             
+	control	keycode 114 = F14             
+	shift	control	keycode 114 = F14             
+	alt	keycode 114 = F14             
+	control	alt	keycode 114 = F14             
+keycode 115 = Help             Help             Help            
+	control	keycode 115 = Help            
+	shift	control	keycode 115 = Help            
+	alt	keycode 115 = Help            
+	control	alt	keycode 115 = Help            
+keycode 116 = Do               Do               Do              
+	control	keycode 116 = Do              
+	shift	control	keycode 116 = Do              
+	alt	keycode 116 = Do              
+	control	alt	keycode 116 = Do              
+keycode 117 = F17              F17              F17             
+	control	keycode 117 = F17             
+	shift	control	keycode 117 = F17             
+	alt	keycode 117 = F17             
+	control	alt	keycode 117 = F17             
+keycode 118 = KP_MinPlus       KP_MinPlus       KP_MinPlus      
+	control	keycode 118 = KP_MinPlus      
+	shift	control	keycode 118 = KP_MinPlus      
+	alt	keycode 118 = KP_MinPlus      
+	control	alt	keycode 118 = KP_MinPlus      
+keycode 119 = AltGr_Lock      
+keycode 120 =
+keycode 121 =
+keycode 122 =
+keycode 123 =
+keycode 124 =
+keycode 125 =
+keycode 126 =
+keycode 127 =
 string F1 = "\033[[A"
 string F2 = "\033[[B"
 string F3 = "\033[[C"
@@ -114,3 +404,87 @@
 string Next = "\033[6~"
 string Macro = "\033[M"
 string Pause = "\033[P"
+compose ',' 'A' to '¡'
+compose '/' 'L' to '£'
+compose '^' 'L' to '¥'
+compose '\'' 'S' to '¦'
+compose '^' 'S' to '©'
+compose ',' 'S' to 'ª'
+compose '^' 'T' to '«'
+compose '\'' 'Z' to '¬'
+compose '^' 'Z' to '®'
+compose '.' 'Z' to '¯'
+compose ',' 'a' to '±'
+compose '/' 'l' to '³'
+compose '^' 'l' to 'µ'
+compose '\'' 's' to '¶'
+compose '^' 's' to '¹'
+compose ',' 's' to 'º'
+compose '^' 't' to '»'
+compose '\'' 'z' to '¼'
+compose '^' 'z' to '¾'
+compose '.' 'z' to '¿'
+compose '\'' 'R' to 'À'
+compose '\'' 'A' to 'Á'
+compose '^' 'A' to 'Â'
+compose '^' 'A' to 'Ã'
+compose ':' 'A' to 'Ä'
+compose '"' 'A' to 'Ä'
+compose '\'' 'L' to 'Å'
+compose '\'' 'C' to 'Æ'
+compose ',' 'C' to 'Ç'
+compose '^' 'C' to 'È'
+compose '\'' 'E' to 'É'
+compose ',' 'E' to 'Ê'
+compose '"' 'E' to 'Ë'
+compose '^' 'E' to 'Ì'
+compose '\'' 'I' to 'Í'
+compose '^' 'I' to 'Î'
+compose '^' 'D' to 'Ï'
+compose '-' 'D' to 'Ð'
+compose '\'' 'N' to 'Ñ'
+compose '^' 'N' to 'Ò'
+compose '\'' 'O' to 'Ó'
+compose '^' 'O' to 'Ô'
+compose '"' 'O' to 'Õ'
+compose ':' 'O' to 'Ö'
+compose '^' 'R' to 'Ø'
+compose '^' 'U' to 'Ù'
+compose '\'' 'U' to 'Ú'
+compose '"' 'U' to 'Û'
+compose ':' 'U' to 'Ü'
+compose '\'' 'Y' to 'Ý'
+compose ',' 'T' to 'Þ'
+compose 's' 's' to 'ß'
+compose 'S' 'S' to 'ß'
+compose '\'' 'r' to 'à'
+compose '\'' 'a' to 'á'
+compose '^' 'a' to 'â'
+compose '^' 'a' to 'ã'
+compose ':' 'a' to 'ä'
+compose '"' 'a' to 'ä'
+compose '\'' 'l' to 'å'
+compose '\'' 'c' to 'æ'
+compose ',' 'c' to 'ç'
+compose '^' 'c' to 'è'
+compose '\'' 'e' to 'é'
+compose ',' 'e' to 'ê'
+compose ':' 'e' to 'ë'
+compose '^' 'e' to 'ì'
+compose '\'' 'i' to 'í'
+compose '^' 'e' to 'î'
+compose '^' 'd' to 'ï'
+compose '-' 'd' to 'ð'
+compose '\'' 'n' to 'ñ'
+compose '^' 'n' to 'ò'
+compose '\'' 'o' to 'ó'
+compose '^' 'o' to 'ô'
+compose ':' 'o' to 'õ'
+compose '"' 'o' to 'ö'
+compose '^' 'r' to 'ø'
+compose '^' 'u' to 'ù'
+compose '\'' 'u' to 'ú'
+compose '"' 'u' to 'û'
+compose ':' 'u' to 'ü'
+compose '\'' 'y' to 'ý'
+compose ',' 't' to 'þ'
diff -ur kernel-8.0/arch/mips/vr41xx/kbd.c kernel-8.0-w1/arch/mips/vr41xx/kbd.c
--- kernel-8.0/arch/mips/vr41xx/kbd.c	Thu Nov 15 21:52:00 2001
+++ kernel-8.0-w1/arch/mips/vr41xx/kbd.c	Tue Oct  1 09:05:11 2002
@@ -13,6 +13,7 @@
  *
  */
 
+#include <linux/config.h>
 #include <linux/sched.h>
 #include <linux/tty.h>
 #include <linux/mm.h>
@@ -25,6 +26,31 @@
 #include <asm/vr41xx.h>
 #include <asm/vr41xx-platdep.h>
 
+#ifdef CONFIG_CHATBOARD
+/* _VERY_ dirty translation code :* */
+static unsigned char vr_to_pc(unsigned char key)
+{
+	switch (key) {
+		case 48:
+			return 104;
+		case 32:
+			return 109;
+		case 80:
+			return 105;
+		case 96:
+			return 106;
+		case 0:
+			return 42;
+		case 16:
+			return 54;
+		default:
+			return key;
+	}
+}
+#else
+#define vr_to_pc(X) (X)
+#endif
+
 // I don't know about other devices, but WorkPad doesn't have LEDs for
 // the lock states, rather those are handled on screen.  Maybe we should
 // send an event notification to user space when LED state changes?  MFK
@@ -56,8 +82,12 @@
 
 char kbd_unexpected_up(unsigned char keycode)
 {
+#ifdef CONFIG_CHATBOARD
+	return keycode;
+#else
 	printk(KERN_WARNING "vr41xx_kiu: unexpected up, keycode 0x%x\n", keycode);
 	return 0x80;
+#endif
 }
 
 #define DEFAULT_REP_WAIT (HZ/4)
@@ -91,7 +121,7 @@
 		}
 
 		// send the scancode and down or up to higher level code
-		handle_scancode(scancode, down);
+		handle_scancode(vr_to_pc(scancode), down);
 	}
 }
 
@@ -147,7 +177,7 @@
 	}
 	if ((rep_scancode >= 0) && (time_after_eq(jiffies, next_reptime))) {
 		next_reptime = jiffies + rep_rate;
-		handle_scancode(rep_scancode, 1);
+		handle_scancode(vr_to_pc(rep_scancode), 1);
 	}
 }
 
