Subject: Some observation about J728 keyboard
To: NetBSD hpcarm <port-hpcarm@NetBSD.org>
From: Yong-Jhen Hong <yongjhen@alqualonde.org>
List: port-hpcarm
Date: 10/23/2003 04:11:58
--=-LFpJJ26v8W6a9jxErMaq
Content-Type: text/plain
Content-Transfer-Encoding: 7bit

Hello!

Finally I got my Jornada 728 and install NetBSD on it (thanks to
Michael's turorials). I build and run Xhpc, it looks fine and
touchscreen works very well, but keyboard input is so bizaare..
especially there is no key release event.

I try to run a small terminal program that switch to raw keyboard
input mode, and report what all keyboard events. To my surprise,
there is no key release event indeed, and the output looks unlike
key codes.

I think j720ssp seems not really run into raw keyboard mode.
After looking into sys/dev/hpc/hpckbd.c, I made some modifying
to get key codes out, and the result kernel seems usable.

The patch and my xmodmap file is attached below. Note that I make use
of sys/dev/hpc/pckbd_encode.c, so just copy it to sys/arch/hpcarm/dev,
not sure it is a good idea..

Have fun! :)
yongjhen.

Oh wait, the xmodmap file is for Japanese keyboard, as the one I have.


--=-LFpJJ26v8W6a9jxErMaq
Content-Disposition: attachment; filename=patch-j720ssp
Content-Type: text/plain; name=patch-j720ssp; charset=big5
Content-Transfer-Encoding: base64

LS0tIGo3MjBzc3AuYy5vcmlnCTIwMDMtMTAtMjIgMTM6MTM6NTMuMDAwMDAwMDAwICswODAwDQor
KysgajcyMHNzcC5jCTIwMDMtMTAtMjMgMDE6MTE6MTMuMDAwMDAwMDAwICswODAwDQpAQCAtMTAy
LDYgKzEwMiw4IEBADQogI2luY2x1ZGUgPGRldi93c2NvbnMvd3Nrc3ltdmFyLmg+DQogI2luY2x1
ZGUgPGRldi93c2NvbnMvd3Ntb3VzZXZhci5oPg0KICNpbmNsdWRlIDxkZXYvaHBjL3RwY2FsaWJ2
YXIuaD4NCisjaW5jbHVkZSAib3B0X3dzZGlzcGxheV9jb21wYXQuaCINCisjaW5jbHVkZSA8ZGV2
L2hwYy9wY2tiZF9lbmNvZGUuaD4NCiANCiBleHRlcm4gY29uc3Qgc3RydWN0IHdzY29uc19rZXlk
ZXNjIGo3MjBrYmRfa2V5ZGVzY3RhYltdOw0KIA0KQEAgLTEyMyw2ICsxMjUsMTAgQEANCiAJc3Ry
dWN0IHByb2MgKnNjX3NzcF9rdGhyZWFkOw0KIAlpbnQgc2Nfc3NwX3N0YXR1czsNCiAJc3RydWN0
IHNpbXBsZWxvY2sgc2Nfc3NwX3N0YXR1c19sb2NrOw0KKyNpZmRlZiBXU0RJU1BMQVlfQ09NUEFU
X1JBV0tCRA0KKw0KKwlpbnQgc2NfcmF3a2JkOw0KKyNlbmRpZg0KIH07DQogLyogVmFsdWVzIGZv
ciBzdHJ1Y3Qgc29mdGMncyBzY19zc3Bfc3RhdHVzICovDQogI2RlZmluZSBKNzIwX1NTUF9TVEFU
VVNfTk9ORQkwDQpAQCAtMjM4LDYgKzI0NCw5IEBADQogDQogCXByaW50ZigiXG4iKTsNCiANCisj
aWZkZWYgV1NESVNQTEFZX0NPTVBBVF9SQVdLQkQNCisJc2MtPnNjX3Jhd2tiZCA9IDA7DQorI2Vu
ZGlmDQogCXNjLT5zY19pb3QgPSBwc2MtPnNjX2lvdDsNCiAJc2MtPnNjX2dwaW9oID0gcHNjLT5z
Y19ncGlvaDsNCiAJaWYgKGJ1c19zcGFjZV9tYXAoc2MtPnNjX2lvdCwgc2EtPnNhX2FkZHIsIHNh
LT5zYV9zaXplLCAwLA0KQEAgLTQ0NywxMCArNDU2LDIwIEBADQogCWludCBmbGFnOw0KIAlzdHJ1
Y3QgcHJvYyAqcDsNCiB7DQorI2lmZGVmIFdTRElTUExBWV9DT01QQVRfUkFXS0JEDQorCXN0cnVj
dCBqNzIwc3NwX3NvZnRjICpzYyA9IHY7DQorI2VuZGlmDQorDQogCXN3aXRjaCAoY21kKSB7DQog
CWNhc2UgV1NLQkRJT19HVFlQRToNCiAJCSooaW50ICopZGF0YSA9IFdTS0JEX1RZUEVfSFBDX0tC
RDsNCiAJCXJldHVybiAwOw0KKyNpZmRlZiBXU0RJU1BMQVlfQ09NUEFUX1JBV0tCRA0KKwljYXNl
IFdTS0JESU9fU0VUTU9ERToNCisJCXNjLT5zY19yYXdrYmQgPSAoKihpbnQgKilkYXRhID09IFdT
S0JEX1JBVyk7DQorcHJpbnRmKCJqNzIwa2JkX3Jhd21vZGU6ICV4XG4iLCBzYy0+c2NfcmF3a2Jk
KTsNCisJCXJldHVybiAwOw0KKyNlbmRpZg0KIAl9DQogDQogCXJldHVybiAoRVBBU1NUSFJPVUdI
KTsNCkBAIC00OTgsNiArNTE3LDEwIEBADQogCXN0cnVjdCBqNzIwc3NwX3NvZnRjICpzYyA9IGFy
ZzsNCiAJaW50IHMsIHR5cGUsIHZhbHVlOw0KIAljaGFyIGJ1Zls5XSwgKnA7DQorI2lmZGVmIFdT
RElTUExBWV9DT01QQVRfUkFXS0JEDQorCXVfY2hhciBrY29kZVsxNl07DQorCWludCBrY2xlbjsN
CisjZW5kaWYNCiANCiAJajcyMGtiZF9yZWFkKHNjLCBidWYpOw0KIA0KQEAgLTUwNiw3ICs1Mjks
MTMgQEANCiAJCSAgICBXU0NPTlNfRVZFTlRfS0VZX0RPV047DQogCQl2YWx1ZSA9ICpwICYgMHg3
ZjsNCiAJCXMgPSBzcGx0dHkoKTsNCi0JCXdza2JkX2lucHV0KHNjLT5zY193c2tiZGRldiwgdHlw
ZSwgdmFsdWUpOw0KKyNpZmRlZiBXU0RJU1BMQVlfQ09NUEFUX1JBV0tCRA0KKwkJaWYgKHNjLT5z
Y19yYXdrYmQpIHsNCisJCQlrY2xlbiA9IHBja2JkX2VuY29kZSh0eXBlLCB2YWx1ZSwga2NvZGUp
Ow0KKwkJCXdza2JkX3Jhd2lucHV0KHNjLT5zY193c2tiZGRldiwga2NvZGUsIGtjbGVuKTsNCisJ
CX0gZWxzZQ0KKyNlbmRpZg0KKwkJCXdza2JkX2lucHV0KHNjLT5zY193c2tiZGRldiwgdHlwZSwg
dmFsdWUpOw0KIAkJc3BseChzKTsNCiAJCWlmICh0eXBlID09IFdTQ09OU19FVkVOVF9LRVlfRE9X
TiAmJg0KIAkJICAgIHZhbHVlID09IDB4N2YpIHsNCi0tLSBmaWxlcy5ocGNhcm0ub3JpZwkyMDAz
LTEwLTIzIDAxOjQzOjIzLjAwMDAwMDAwMCArMDgwMA0KKysrIGZpbGVzLmhwY2FybQkyMDAzLTEw
LTIzIDAxOjU4OjA5LjAwMDAwMDAwMCArMDgwMA0KQEAgLTczLDYgKzczLDcgQEANCiBhdHRhY2gJ
ajcyMHNzcCBhdCBzYWlwDQogZmlsZQlhcmNoL2hwY2FybS9kZXYvajcyMHNzcC5jCQlqNzIwc3Nw
DQogZmlsZQlhcmNoL2hwY2FybS9kZXYvajcyMGtiZG1hcC5jCQlqNzIwc3NwDQorZmlsZQlhcmNo
L2hwY2FybS9kZXYvcGNrYmRfZW5jb2RlLmMJCWo3MjBzc3ANCiANCiBmaWxlCWRldi9jbmluaXQu
Yw0KIA0K

--=-LFpJJ26v8W6a9jxErMaq
Content-Disposition: attachment; filename=pckcmap
Content-Type: text/plain; name=pckcmap; charset=big5
Content-Transfer-Encoding: base64

a2V5Y29kZSAgIDggPSANCmtleWNvZGUgICA5ID0gRXNjYXBlDQprZXljb2RlICAxMCA9IEYxDQpr
ZXljb2RlICAxMSA9IEYyDQprZXljb2RlICAxMiA9IEYzDQprZXljb2RlICAxMyA9IEY0DQprZXlj
b2RlICAxNCA9IEY1DQprZXljb2RlICAxNSA9IEY2DQprZXljb2RlICAxNiA9IEY3DQprZXljb2Rl
ICAxNyA9IEY4DQprZXljb2RlICAxOCA9IEY5DQprZXljb2RlICAxOSA9IEYxMA0Ka2V5Y29kZSAg
MjAgPSBGMTENCmtleWNvZGUgIDIxID0gDQprZXljb2RlICAyMiA9IA0Ka2V5Y29kZSAgMjMgPSAN
CmtleWNvZGUgIDI0ID0gDQprZXljb2RlICAyNSA9IDEgZXhjbGFtDQprZXljb2RlICAyNiA9IDIg
cXVvdGVkYmwNCmtleWNvZGUgIDI3ID0gMyBudW1iZXJzaWduDQprZXljb2RlICAyOCA9IDQgZG9s
bGFyDQprZXljb2RlICAyOSA9IDUgcGVyY2VudA0Ka2V5Y29kZSAgMzAgPSA2IGFtcGVyc2FuZA0K
a2V5Y29kZSAgMzEgPSA3IGFwb3N0cm9waGUNCmtleWNvZGUgIDMyID0gOCBwYXJlbmxlZnQNCmtl
eWNvZGUgIDMzID0gOSBwYXJlbnJpZ2h0DQprZXljb2RlICAzNCA9IDAgRXVyb1NpZ24NCmtleWNv
ZGUgIDM1ID0gbWludXMgZXF1YWwNCmtleWNvZGUgIDM2ID0gYXNjaWljaXJjdW0gYXNjaWl0aWxk
ZQ0Ka2V5Y29kZSAgMzcgPSANCmtleWNvZGUgIDM4ID0gDQprZXljb2RlICAzOSA9IA0Ka2V5Y29k
ZSAgNDAgPSANCmtleWNvZGUgIDQxID0gcSBRDQprZXljb2RlICA0MiA9IHcgVw0Ka2V5Y29kZSAg
NDMgPSBlIEUNCmtleWNvZGUgIDQ0ID0gciBSDQprZXljb2RlICA0NSA9IHQgVA0Ka2V5Y29kZSAg
NDYgPSB5IFkNCmtleWNvZGUgIDQ3ID0gdSBVDQprZXljb2RlICA0OCA9IGkgSQ0Ka2V5Y29kZSAg
NDkgPSBvIE8NCmtleWNvZGUgIDUwID0gcCBQDQprZXljb2RlICA1MSA9IGF0IGdyYXZlDQprZXlj
b2RlICA1MiA9IEJhY2tTcGFjZQ0Ka2V5Y29kZSAgNTMgPSANCmtleWNvZGUgIDU0ID0gDQprZXlj
b2RlICA1NSA9IA0Ka2V5Y29kZSAgNTYgPSANCmtleWNvZGUgIDU3ID0gYSBBDQprZXljb2RlICA1
OCA9IHMgUw0Ka2V5Y29kZSAgNTkgPSBkIEQNCmtleWNvZGUgIDYwID0gZiBGDQprZXljb2RlICA2
MSA9IGcgRw0Ka2V5Y29kZSAgNjIgPSBoIEgNCmtleWNvZGUgIDYzID0gaiBKDQprZXljb2RlICA2
NCA9IGsgSw0Ka2V5Y29kZSAgNjUgPSBsIEwNCmtleWNvZGUgIDY2ID0gc2VtaWNvbG9uIHBsdXMN
CmtleWNvZGUgIDY3ID0gYnJhY2tldGxlZnQgYnJhY2VsZWZ0DQprZXljb2RlICA2OCA9IGJyYWNr
ZXRyaWdodCBicmFjZXJpZ2h0DQprZXljb2RlICA2OSA9IA0Ka2V5Y29kZSAgNzAgPSANCmtleWNv
ZGUgIDcxID0gDQprZXljb2RlICA3MiA9IA0Ka2V5Y29kZSAgNzMgPSB6IFoNCmtleWNvZGUgIDc0
ID0geCBYDQprZXljb2RlICA3NSA9IGMgQw0Ka2V5Y29kZSAgNzYgPSB2IFYNCmtleWNvZGUgIDc3
ID0gYiBCDQprZXljb2RlICA3OCA9IG4gTg0Ka2V5Y29kZSAgNzkgPSBtIE0NCmtleWNvZGUgIDgw
ID0gY29tbWEgbGVzcw0Ka2V5Y29kZSAgODEgPSBwZXJpb2QgZ3JlYXRlcg0Ka2V5Y29kZSAgODIg
PSBzbGFzaCBxdWVzdGlvbg0Ka2V5Y29kZSAgODMgPSBjb2xvbiBhc3Rlcmlzaw0Ka2V5Y29kZSAg
ODQgPSBSZXR1cm4NCmtleWNvZGUgIDg1ID0gDQprZXljb2RlICA4NiA9IA0Ka2V5Y29kZSAgODcg
PSANCmtleWNvZGUgIDg4ID0gDQprZXljb2RlICA4OSA9IFRhYiBJU09fTGVmdF9UYWINCmtleWNv
ZGUgIDkwID0gDQprZXljb2RlICA5MSA9IFNoaWZ0X0wNCmtleWNvZGUgIDkyID0gDQprZXljb2Rl
ICA5MyA9IA0Ka2V5Y29kZSAgOTQgPSANCmtleWNvZGUgIDk1ID0gDQprZXljb2RlICA5NiA9IA0K
a2V5Y29kZSAgOTcgPSANCmtleWNvZGUgIDk4ID0gVXAgUGFnZV9VcA0Ka2V5Y29kZSAgOTkgPSB5
ZW4gYmFyDQprZXljb2RlIDEwMCA9IFNoaWZ0X1INCmtleWNvZGUgMTAxID0gDQprZXljb2RlIDEw
MiA9IA0Ka2V5Y29kZSAxMDMgPSANCmtleWNvZGUgMTA0ID0gDQprZXljb2RlIDEwNSA9IA0Ka2V5
Y29kZSAxMDYgPSANCmtleWNvZGUgMTA3ID0gDQprZXljb2RlIDEwOCA9IA0Ka2V5Y29kZSAxMDkg
PSBBbHRfTA0Ka2V5Y29kZSAxMTAgPSANCmtleWNvZGUgMTExID0gDQprZXljb2RlIDExMiA9IA0K
a2V5Y29kZSAxMTMgPSBMZWZ0IEhvbWUNCmtleWNvZGUgMTE0ID0gRG93biBQYWdlX0Rvd24NCmtl
eWNvZGUgMTE1ID0gUmlnaHQgRW5kDQprZXljb2RlIDExNiA9IA0Ka2V5Y29kZSAxMTcgPSANCmtl
eWNvZGUgMTE4ID0gDQprZXljb2RlIDExOSA9IA0Ka2V5Y29kZSAxMjAgPSANCmtleWNvZGUgMTIx
ID0gTWV0YV9MDQprZXljb2RlIDEyMiA9IENvbnRyb2xfTA0Ka2V5Y29kZSAxMjMgPSANCmtleWNv
ZGUgMTI0ID0gc3BhY2UNCmtleWNvZGUgMTI1ID0gDQprZXljb2RlIDEyNiA9IA0Ka2V5Y29kZSAx
MjcgPSANCmtleWNvZGUgMTI4ID0gYmFja3NsYXNoIHVuZGVyc2NvcmUNCmtleWNvZGUgMTI5ID0g
RGVsZXRlDQprZXljb2RlIDEzMCA9IA0Ka2V5Y29kZSAxMzEgPSANCmtleWNvZGUgMTMyID0gDQpr
ZXljb2RlIDEzMyA9IA0Ka2V5Y29kZSAxMzQgPSANCmFkZCBDb250cm9sID0gQ29udHJvbF9MDQph
ZGQgU2hpZnQgPSBTaGlmdF9MIFNoaWZ0X1INCg0K

--=-LFpJJ26v8W6a9jxErMaq--