From owner-freebsd-hackers@FreeBSD.ORG Wed Nov 29 21:11:18 2006 Return-Path: X-Original-To: freebsd-hackers@freebsd.org Delivered-To: freebsd-hackers@freebsd.org Received: from mx1.FreeBSD.org (mx1.freebsd.org [69.147.83.52]) by hub.freebsd.org (Postfix) with ESMTP id CEEBF16A407 for ; Wed, 29 Nov 2006 21:11:18 +0000 (UTC) (envelope-from w0lfie@clear.net.nz) Received: from smtp4.clear.net.nz (smtp4.clear.net.nz [203.97.37.64]) by mx1.FreeBSD.org (Postfix) with ESMTP id C070143CB4 for ; Wed, 29 Nov 2006 21:10:54 +0000 (GMT) (envelope-from w0lfie@clear.net.nz) Received: from clear.net.nz (lb1-srcnat.clear.net.nz [203.97.32.236]) by smtp4.clear.net.nz (CLEAR Net Mail) with SMTP id <0J9I0026RG638610@smtp4.clear.net.nz> for freebsd-hackers@freebsd.org; Thu, 30 Nov 2006 10:10:52 +1300 (NZDT) Date: Thu, 30 Nov 2006 10:10:51 +1300 From: w0lfie Sender: w0lfie@clear.net.nz To: freebsd-hackers@freebsd.org Message-id: <456df75b.35a.4d51.31890@clear.net.nz> X-Mailer: CLEAR Net WebMail; webmail.clear.net.nz; user: w0lfie; ip: 210.55.18.198 Priority: normal Subject: Re: USB keyboard problem X-BeenThere: freebsd-hackers@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list Reply-To: w0lfie@clear.net.nz List-Id: Technical Discussions relating to FreeBSD List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Wed, 29 Nov 2006 21:11:18 -0000 Something I forgot to add... The keyboard_t struct kbd is passed to the ukbd_interrupt function. Within this struct, there is a ukbd_state struct that includes ks_ndata and ks_odata (new and current data?). Which part of the system actually fills in the ks_ndata struct? Is this filled in externally to the ukbd driver? Such as the usb hid driver? What I am getting at is my problem may not be within the ukbd driver but within the mechanism that fills in ks_ndata. If this is the case, I should be looking at that piece of code rather than the ukbd driver. Sam. ----- Original Message Follows ----- > Heya, > > I have a usb keyboard (Genius slimstar pro) and am having > the same problems as others are experiencing. When the kb > is first loaded, the two modifiers ctrl and shift are > "stuck" on. This results in keys like d exiting your > terminal. If you hit ctrl and shift on another kb (I have > an at kb hooked up as well) it resets these modifiers. > Once this has been done, a majority of the keys (a-z, 1-0 > etc...) work as they should. None of the modifier keys > work though. > > After digging through and playing with the ukbd code, I > have found that when you hit any of the modifier keys, it > sends the two keycodes 0xe0 and 0xe1 as pressed keys to > ukbd_interrupt() and sends nothing when you release the > key. > > I have tested this keyboard in OpenBSD, Linux and Windows > all with success. I have also tried this without the > kbdmux and get the same results. > > Any help or insight into this problem would really be > appreciated as I'm quite stuck on where to go to from > here. > > Cheers, > > Sam. > _______________________________________________ > freebsd-hackers@freebsd.org mailing list > http://lists.freebsd.org/mailman/listinfo/freebsd-hackers > To unsubscribe, send any mail to > "freebsd-hackers-unsubscribe@freebsd.org"