Subject: Jornada X keyboard problems.
To: None <port-hpcarm@netbsd.org>
From: Herb Peyerl <hpeyerl@beer.org>
List: port-hpcarm
Date: 08/19/2002 10:32:47
I've done some more playing with X on the J720.  Following this is 
my keymap file for those who are interested in playing with this.

I'm seeing a couple different things happening here..

First of all, the 'm' key does _not_ generate any Keypress or
Keyrelease events at all.  So I can't use the 'm' key under X
at all.  It works fine on the console with wscons.

Secondly, the keypress/keyrelease events seem to get out of sync
with one another.  If, for example, I press/release the 'f' key,
I get a KeyPress event but not KeyRelease.  If I then press/release
the 'f' key again, I get a KeyRelease and a KeyPress event:

KeyPress event, serial 20, synthetic NO, window 0xc00001,
    root 0x25, subw 0x0, time 3032522146, (114,100), root:(116,102),
    state 0x0, keycode 110 (keysym 0x66, f), same_screen YES,
    XLookupString gives 1 characters:  "f"
KeyRelease event, serial 20, synthetic NO, window 0xc00001,
    root 0x25, subw 0x0, time 3032523886, (114,100), root:(116,102),
    state 0x0, keycode 110 (keysym 0x66, f), same_screen YES,
    XLookupString gives 1 characters:  "f"
KeyPress event, serial 20, synthetic NO, window 0xc00001,
    root 0x25, subw 0x0, time 3032523886, (114,100), root:(116,102),
    state 0x0, keycode 110 (keysym 0x66, f), same_screen YES,
    XLookupString gives 1 characters:  "f"


Note the timestamps.  You can see that the 'KeyRelease' happens at 
about the same time as the 2nd 'KeyPress'.


Third, the "e" key doesn't generate the correct KeyRelease event:

KeyPress event, serial 20, synthetic NO, window 0xc00001,
    root 0x25, subw 0x0, time 3032528506, (114,100), root:(116,102),
    state 0x0, keycode 109 (keysym 0x65, e), same_screen YES,
    XLookupString gives 1 characters:  "e"
KeyRelease event, serial 20, synthetic NO, window 0xc00001,
    root 0x25, subw 0x0, time 3032530016, (114,100), root:(116,102),
    state 0x4, keycode 109 (keysym 0x65, e), same_screen YES,
    XLookupString gives 1 characters:  ""
KeyPress event, serial 20, synthetic NO, window 0xc00001,
    root 0x25, subw 0x0, time 3032530016, (114,100), root:(116,102),
    state 0x0, keycode 109 (keysym 0x65, e), same_screen YES,
    XLookupString gives 1 characters:  "e"


The difference being the 'state' is 0x4. According to 'xmodmap -pm',
that means the control key bit is set.

This happens regardless of whether I run the following file through
xmodmap -

keycode   8 =
keycode   9 = 
keycode  10 = 
keycode  11 = 
keycode  12 = 
keycode  13 = 
keycode  14 = 
keycode  15 = 
keycode  16 = BackSpace
keycode  17 = Tab ISO_Left_Tab
keycode  18 = 
keycode  19 = 
keycode  20 = 
keycode  21 = Return
keycode  22 = 
keycode  23 = 
keycode  24 = 
keycode  25 = 
keycode  26 = 
keycode  27 = 
keycode  28 = 
keycode  29 = 
keycode  30 = 
keycode  31 = 
keycode  32 = 
keycode  33 = 
keycode  34 = 
keycode  35 = Escape
keycode  36 = Return
keycode  37 = 
keycode  38 = 
keycode  39 = 
keycode  40 = space
keycode  41 = 
keycode  42 = 
keycode  43 = 
keycode  44 = 
keycode  45 = 
keycode  46 = 
keycode  47 = apostrophe quotedbl
keycode  49 = 
keycode  50 = 
keycode  51 = 
keycode  52 = 
keycode  53 = minus underscore
keycode  54 = 
keycode  55 = slash question
keycode  56 = 0 parenright
keycode  57 = 1 exclam
keycode  58 = 2 at
keycode  59 = 3 numbersign
keycode  60 = 4 dollar
keycode  61 = 5 percent
keycode  62 = 6 asciicircum
keycode  63 = 7 ampersand
keycode  64 = 8 asterisk
keycode  65 = 9 parenleft
keycode  66 = 
keycode  67 = semicolon colon
keycode  68 = 
keycode  69 = equal plus
keycode  70 = 
keycode  71 = 
keycode  72 = 
keycode  73 = a A
keycode  74 = b B
keycode  75 = c C
keycode  76 = d D
keycode  77 = e E
keycode  78 = f F
keycode  79 = g G
keycode  80 = h H
keycode  81 = i I
keycode  82 = j J
keycode  83 = k K
keycode  84 = l L
keycode  85 = m M
keycode  86 = n N
keycode  87 = o O
keycode  88 = p P
keycode  89 = q Q
keycode  90 = r R
keycode  91 = s S
keycode  92 = t T
keycode  93 = u U
keycode  94 = v V
keycode  95 = w W
keycode  96 = x X
keycode  97 = y Y
keycode  98 = z Z
keycode  99 = bracketleft
keycode 100 = backslash bar
keycode 101 = bracketright
keycode 102 = 
keycode 103 = 
keycode 104 = grave
keycode 105 = a
keycode 106 = b
keycode 107 = c
keycode 108 = d
keycode 109 = e
keycode 110 = f
keycode 111 = g
keycode 112 = h
keycode 113 = i
keycode 114 = j
keycode 115 = k
keycode 116 = l
keycode 117 = m
keycode 118 = n
keycode 119 = o
keycode 120 = p
keycode 121 = q
keycode 122 = r
keycode 123 = s
keycode 124 = t
keycode 125 = u
keycode 126 = v
keycode 127 = w
keycode 128 = x
keycode 129 = y
keycode 130 = z
keycode 131 = braceleft
keycode 132 =
keycode 133 = braceright
keycode 134 = asciitilde
keycode 134 = Delete