From owner-freebsd-usb@FreeBSD.ORG Sun Mar 14 14:29:20 2010 Return-Path: Delivered-To: freebsd-usb@freebsd.org Received: from mx1.freebsd.org (mx1.freebsd.org [IPv6:2001:4f8:fff6::34]) by hub.freebsd.org (Postfix) with ESMTP id 360C4106564A; Sun, 14 Mar 2010 14:29:18 +0000 (UTC) (envelope-from hselasky@c2i.net) Received: from swip.net (mailfe04.swip.net [212.247.154.97]) by mx1.freebsd.org (Postfix) with ESMTP id 595AF8FC14; Sun, 14 Mar 2010 14:29:16 +0000 (UTC) X-Cloudmark-Score: 0.000000 [] X-Cloudmark-Analysis: v=1.0 c=1 a=8-LOXV1aLNAA:10 a=IkcTkHD0fZMA:10 a=M8b_wTzEtboA:10 a=MnI1ikcADjEx7bvsp0jZvQ==:17 a=8kQB0OdkAAAA:8 a=r_kkXxauAAAA:8 a=GKysJfYJAAAA:8 a=6I5d2MoRAAAA:8 a=RuP-5vQrMyf71-8f6NQA:9 a=91XB59Wcu1GVZbF_eGAA:7 a=dr5XtgWsd6xjpR-GnPsh4m_Y4r8A:4 a=QEXdDO2ut3YA:10 a=9aOQ2cSd83gA:10 a=1C6itdonJusA:10 a=SV7veod9ZcQA:10 Received: from [188.126.201.140] (account mc467741@c2i.net HELO laptop002.hselasky.homeunix.org) by mailfe04.swip.net (CommuniGate Pro SMTP 5.2.19) with ESMTPA id 1347751748; Sun, 14 Mar 2010 15:29:15 +0100 From: Hans Petter Selasky To: Steven Noonan Date: Sun, 14 Mar 2010 15:27:37 +0100 User-Agent: KMail/1.12.4 (FreeBSD/8.0-STABLE; KDE/4.3.4; amd64; ; ) References: <201003141030.o2EAU40v018339@freefall.freebsd.org> <201003141448.30747.hselasky@c2i.net> In-Reply-To: X-Face: +~\`s("[*|O,="7?X@L.elg*F"OA\I/3%^p8g?ab%RN'( =?iso-8859-1?q?=3B=5FIjlA=3A=0A=09hGE=2E=2EEw?=, =?iso-8859-1?q?XAQ*o=23=5C/M=7ESC=3DS1-f9=7BEzRfT=27=7CHhll5Q=5Dha5Bt-s=7Co?= =?iso-8859-1?q?TlKMusi=3A1e=5BwJl=7Dkd=7DGR=0A=09Z0adGx-x=5F0zGbZj=27e?=(Y[(UNle~)8CQWXW@:DX+9)_YlB[tIccCPN$7/L' MIME-Version: 1.0 Content-Type: Text/Plain; charset="utf-8" Content-Transfer-Encoding: 7bit Message-Id: <201003141527.37644.hselasky@c2i.net> Cc: Christoph Langguth , freebsd-gnats-submit@freebsd.org, freebsd-usb@freebsd.org Subject: Re: usb/144414: Apple "Fn" key doesn't work properly X-BeenThere: freebsd-usb@freebsd.org X-Mailman-Version: 2.1.5 Precedence: list List-Id: FreeBSD support for USB List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-List-Received-Date: Sun, 14 Mar 2010 14:29:20 -0000 On Sunday 14 March 2010 15:01:39 Steven Noonan wrote: > On Sun, Mar 14, 2010 at 5:48 AM, Hans Petter Selasky wrote: > > On Sunday 14 March 2010 14:22:33 Steven Noonan wrote: > >> On Sun, Mar 14, 2010 at 3:01 AM, Hans Petter Selasky > > > > wrote: > >> > On Sunday 14 March 2010 11:30:04 Steven Noonan wrote: > >> >> The following reply was made to PR usb/144414; it has been noted by > >> >> GNATS. > >> >> > >> >> From: Steven Noonan > >> >> To: perryh@pluto.rain.com > >> >> Cc: freebsd-usb@freebsd.org, freebsd-gnats-submit@freebsd.org > >> >> Subject: Re: usb/144414: Apple "Fn" key doesn't work properly > >> >> Date: Sun, 14 Mar 2010 03:26:19 -0700 > >> >> > >> >> On Thu, Mar 4, 2010 at 12:01 AM, Steven Noonan > >> >> wrot= > >> >> > >> >> e: > >> >> > On Wed, Mar 3, 2010 at 11:00 PM, Steven Noonan > >> >> > wr= > >> >> > >> >> ote: > >> >> >> On Wed, Mar 3, 2010 at 10:36 PM, =C2=A0 > >> >> wrote: >>> Steven Noonan wrote: > >> >> >>>> Interestingly, my tilde key doesn't work either (though the key > >> >> >>>> press is detected, no character shows when the key is pressed). > >> >> >>> > >> >> >>> Any chance it is configured as a "dead" key? =C2=A0If you press > >> >> >>> tilde followed by n do you get an n with a tilde over it? > >> >> >> > >> >> >> Nope. It simply does nothing in the console. > >> >> >> > >> >> >> But in X11, it does something very odd. Shift+Tilde Key gives me > >> >> '>', >> and Tilde Key gives me '<'. And Alt+Tilde gives me... What? I > >> >> don't >> even know what action. It's grabbing some arbitrary command > >> >> in my >> .bash_history. It gave me the first item in my .bash_history > >> >> the first >> time I tried it. Then I tried an arbitrary command > >> >> ("echo"), and then >> Alt+Tilde gave me the second command in my > >> >> .bash_history. Whaa? > >> >> > >> >> Any more ideas/news on this from anyone? > >> >> > >> >> The tilde key thing is especially irritating. > >> > > >> > static uint8_t > >> > ukbd_apple_swap(uint8_t keycode) { > >> > switch (keycode) { > >> > case 0x35: return 0x64; > >> > case 0x64: return 0x35; > >> > default: return keycode; > >> > } > >> > } > >> > > >> > Can you try to change the function above in ukbd.c to only return > >> > keycode? Any difference? > >> > >> Yep, commenting the two case lines brought my tilde key back. Any idea > >> what the ukbd_apple_swap() function was _supposed_ to be doing? > >> > >> Also, there's only one thing left (input-wise) that I can't get to > >> work, and that's the 'delete' key (Fn+Backspace). I'm pretty certain > >> that it's not a problem with Fn+Backspace failing to map to Delete, > >> because my non-Mac i386 box has the same problem. > >> > >> Everything I read online keeps saying to muck with an .inputrc file > >> (for bash, anyway), but I haven't been able to get it to work. Places > >> I've looked have said to add this to .inputrc: > >> > >> "\e[3~": delete-char > >> > >> But this seems to have no effect (and I tried bind -f .inputrc in case > >> my INPUTRC environment variable wasn't working). Is there something > >> FreeBSD-specific I'm not seeing, or what? > >> > >> - Steven > > > > Hi Steven, > > > > Can you talk this over with Christoph and send me a patch when you > > agreed? He's the one that made the Apple-SWAP key patch. Meanwhile I > > suggest the following patch: > > > > ==== //depot/projects/usb/src/sys/dev/usb/input/ukbd.c#47 - > > src/sys/dev/usb/input/ukbd.c ==== > > @@ -896,8 +896,7 @@ > > hid_input, 0, &sc->sc_loc_apple_fn, &flags, > > &temp_id)) { > > if (flags & HIO_VARIABLE) > > - sc->sc_flags |= UKBD_FLAG_APPLE_FN | > > - UKBD_FLAG_APPLE_SWAP; > > + sc->sc_flags |= UKBD_FLAG_APPLE_FN; > > DPRINTFN(1, "Found Apple FN-key\n"); > > apple_keys = 1; > > sc->sc_kbd_id = temp_id; > > > > > > The hardware that Christoph was using had an Eject-key, while yours > > didn't. I think the patch above will make both cases work. > > > > Christoph, do you have any comments? > > > > http://p4db.freebsd.org/fileViewer.cgi?FSPC=//depot/projects/usb/src/sys/ > >dev/usb/input/ukbd.c&REV=47 > > Not quite true, my keyboard _does_ have an Eject key. The code doesn't > detect it though. > > - Steven > Could you try to figure out what key-press number corresponds to the eject key? --HPS