On Sun, Mar 14, 2010 at 6:46 AM, Kai Wang <[email protected]> wrote: > On Sun, Mar 14, 2010 at 06:37:04AM -0800, Steven Noonan wrote: >> On Sun, Mar 14, 2010 at 6:27 AM, Hans Petter Selasky <[email protected]> >> wrote: >> > On Sunday 14 March 2010 15:01:39 Steven Noonan wrote: >> >> On Sun, Mar 14, 2010 at 5:48 AM, Hans Petter Selasky <[email protected]> >> > wrote: >> >> > On Sunday 14 March 2010 14:22:33 Steven Noonan wrote: >> >> >> On Sun, Mar 14, 2010 at 3:01 AM, Hans Petter Selasky <[email protected]> >> >> > >> >> > 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 <[email protected]> >> >> >> >> To: [email protected] >> >> >> >> Cc: [email protected], [email protected] >> >> >> >> 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 >> >> >> >> <[email protected]> wrot= >> >> >> >> >> >> >> >> e: >> >> >> >> > On Wed, Mar 3, 2010 at 11:00 PM, Steven Noonan >> >> >> >> <[email protected]> > wr= >> >> >> >> >> >> >> >> ote: >> >> >> >> >> On Wed, Mar 3, 2010 at 10:36 PM, =C2=A0<[email protected]> >> >> >> >> wrote: >>> Steven Noonan <[email protected]> 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 >> > >> >> I'm not certain how to do so. It's somewhat of a chicken-and-the-egg >> problem: unless it detects that the key is there, I can't find it. >> Enabling 'hw.usb.ukbd.debug' doesn't print anything when Eject is >> pressed. > > It's very possible that your Eject key is in a separate interface and > is handled by uhid(4) instead of ukbd(4). > > /Kai >
Enabling 'hw.usb.uhid.debug' doesn't print anything on an Eject keypress either, but that could just mean that uhid(4) doesn't have necessary DPRINTFs to show it. - Steven _______________________________________________ [email protected] mailing list http://lists.freebsd.org/mailman/listinfo/freebsd-usb To unsubscribe, send any mail to "[email protected]"
