Date: Tue, 25 Aug 2009 09:32:19 -0700 From: Israel Jacques <mrkotfw@gmail.com> To: Henry Hu <henry.hu.sh@gmail.com> Cc: freebsd-drivers@freebsd.org Subject: Re: Dell USB keyboard Message-ID: <5cd4c4cd0908250932o10abd2d0n32a3425c1e1f5fca@mail.gmail.com> In-Reply-To: <53a1e0710908250051k297cff18l25daeb1e27656ac5@mail.gmail.com> References: <5cd4c4cd0908221713y5d396946h5e4000ee11a48e0c@mail.gmail.com> <200908230216.CAA12582@sopwith.solgatos.com> <53a1e0710908222309x78b04000t40e31fbee495355c@mail.gmail.com> <5cd4c4cd0908232210p61f1b56aw660aad2bb4e53fbb@mail.gmail.com> <53a1e0710908242202n1345eb1fj53a7a2bf1d3672f@mail.gmail.com> <5cd4c4cd0908242303q16031125m62d1122f7a024bd2@mail.gmail.com> <53a1e0710908250051k297cff18l25daeb1e27656ac5@mail.gmail.com>
next in thread | previous in thread | raw e-mail | index | archive | help
Hello. Yeah, I'm starting to see that. Well, It's a good thing. At least there is a difference between the volume knob and the keyboard. Maybe usbhidctl isn't what I need since I receive no output. I use Openbox as my WM. Using xev with or without LinEAK still produces no results. I just tried running lineakd and no go. The keyboard is indeed supported by LinEAK, but I get no output. At first, I was getting Xlib errors but after restarting it stopped. This is very odd. I did try: Section "InputDevice" Identifier "Keyboard" Driver "kbd" Option "XkbLayout" "dvorak,us" Option "XkbOptions" "grp:alt_caps_toggle" Option "XkbModel" "pc104" Option "XkbRules" "dellsk8125" Option "CustomKeycodes" "False" EndSection The settings above gets me: (**) Option "CoreKeyboard" (**) Keyboard: always reports core events (**) Option "Protocol" "standard" (**) Keyboard: Protocol: standard (**) Option "AutoRepeat" "500 30" (**) Option "XkbRules" "dellsk8125" (**) Keyboard: XkbRules: "dellsk8125" (**) Option "XkbModel" "pc104" (**) Keyboard: XkbModel: "pc104" (**) Option "XkbLayout" "dvorak,us" (**) Keyboard: XkbLayout: "dvorak,us" (**) Option "XkbOptions" "grp:alt_caps_toggle" (**) Keyboard: XkbOptions: "grp:alt_caps_toggle" (**) Option "CustomKeycodes" "False" (**) Keyboard: CustomKeycodes disabled (II) XINPUT: Adding extended input device "Keyboard" (type: KEYBOARD) (EE) XKB: Couldn't open rules file /usr/local/share/X11/xkb/rules/dellsk812= 5 (EE) XKB: No components provided for device Keyboard (WW) Couldn't load XKB keymap, falling back to pre-XKB keymap Apparently I don't know what device X.org is using. I tried the following (Option "Device" "/dev/foo" after calling ls /dev/*kbd*): /dev/atkbd0 /dev/kbd0 /dev/kbd1 /dev/kbd2 /dev/kbdmux0 /dev/ukbd0 Which none worked. Could the only solution be to use a USB to PS/2 adapter or to simply hack away at the ukbd(4) driver? Since X.org doesn't use any of the devices, what could it be using? On Tue, Aug 25, 2009 at 12:51 AM, Henry Hu<henry.hu.sh@gmail.com> wrote: > On Tue, Aug 25, 2009 at 2:03 PM, Israel Jacques<mrkotfw@gmail.com> wrote: >> Hi Henry. >> >> After about a minute of running: usbhidctl -alrv -f /dev/uhid0 > dump, I= get: >> 00000000 =C2=A052 65 70 6f 72 74 20 64 =C2=A065 73 63 72 69 70 74 6f =C2= =A0|Report descripto| >> 00000010 =C2=A072 3a 0a 54 6f 74 61 6c =C2=A020 20 20 69 6e 70 75 74 =C2= =A0|r:.Total =C2=A0 input| >> 00000020 =C2=A020 73 69 7a 65 20 30 20 =C2=A062 79 74 65 73 0a 54 6f =C2= =A0| size 0 bytes.To| >> 00000030 =C2=A074 61 6c 20 20 6f 75 74 =C2=A070 75 74 20 73 69 7a 65 =C2= =A0|tal =C2=A0output size| >> 00000040 =C2=A020 31 20 62 79 74 65 73 =C2=A00a 54 6f 74 61 6c 20 66 =C2= =A0| 1 bytes.Total f| >> 00000050 =C2=A065 61 74 75 72 65 20 73 =C2=A069 7a 65 20 31 20 62 79 =C2= =A0|eature size 1 by| >> 00000060 =C2=A074 65 73 0a 0a 0a 0a 0a =C2=A00a 0a 0a 0a 0a 0a 0a 0a =C2= =A0|tes.............| >> 00000070 =C2=A00a 0a 0a 0a 0a 0a 0a 0a =C2=A00a 0a 0a 0a 0a 0a 0a 0a =C2= =A0|................| >> * >> 0b675000 >> >> There is an option in the BIOS that allows me to disable BIOS support >> for USB. I'll reboot and report back on whether or not it makes a >> difference. >> >> As with usbhidaction, I'm assuming I would need to be able to get >> output from /dev/uhid0 in order to write a configuration file. >> Correct? > > I'm sorry. After googling more, I find out that most multimedia keys > are sent through the normal keyboard device, it seems like only the > volume control information is sent through other devices. > So if you run xev, and press the multimedia keys, you would see these > keycodes, right? > Which WM are you using? For compiz, you may specify the program to run > in the CCSM. I'm not familiar with metacity, but I know at least you > may specify it in gconf-editor. > >> >> On Mon, Aug 24, 2009 at 10:02 PM, Henry Hu<henry.hu.sh@gmail.com> wrote: >>> On Mon, Aug 24, 2009 at 1:10 PM, Israel Jacques<mrkotfw@gmail.com> wrot= e: >>>> I have the following in my ~/.xmodmaprc: >>>> >>>> keycode 234 =3D XF86Back >>>> keycode 233 =3D XF86Forward >>>> keycode 232 =3D XF86Stop >>>> keycode 231 =3D XF86Refresh >>>> keycode 130 =3D XF86HomePage >>>> keycode 236 =3D XF86Mail >>>> keycode 198 =3D XF86MyComputer >>>> keycode 161 =3D XF86Calculator >>>> keycode 160 =3D XF86AudioMute >>>> keycode 164 =3D XF86AudioStop >>>> keycode 144 =3D XF86AudioPrev >>>> keycode 153 =3D XF86AudioNext >>>> keycode 162 =3D XF86AudioPlay >>>> keycode 129 =3D XF86AudioMedia >>>> keycode 174 =3D XF86AudioLowerVolume >>>> keycode 176 =3D XF86AudioRaiseVolume >>>> >>>> And it doesn't work with my WM. >>> If the messages of the multimedia keys are sent through the uhid >>> device, then you need to write a configuration file for the >>> usbhidaction, specify the keys and corresponding commands, and run >>> usbhidaction when keyboard inserted. >>> Can you see anything when a key is pressed with usbhidctl -alrv -f /dev= /uhid0 ? >>>> >>>> Thanks for the tip. >>>> >>>> So far, I ran (as root): >>>> >>>> # usbhidctl -anrv -f /dev/uhid0 >>>> Report descriptor: >>>> Total =C2=A0 input size 0 bytes >>>> Total =C2=A0output size 1 bytes >>>> Total feature size 1 bytes >>>> >>>> On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@gmail.com> wrot= e: >>>>> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@sopwith.solgatos.com= > wrote: >>>>>>> My question is, how do I go about writing a userland application to >>>>>>> access the extra buttons? Would I have to use ioctl(2) to poll >>>>>>> /dev/ukbd0? I would like to write the userland application in order= to >>>>>>> map them to: >>>>>>> XF86Back >>>>>> ... >>>>>>> XF86AudioRaiseVolume >>>>>>> >>>>>>> Any suggestions? >>>>>> >>>>>> Can xmodmap(1) do what you need? =C2=A0Appears to be in ports. >>>>>> _______________________________________________ >>>>>> freebsd-drivers@freebsd.org mailing list >>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers >>>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebs= d.org" >>>>>> >>>>> You might try usbhidaction and usbhidctl on the uhid device. >>>>> Once I was using a microsoft keyboard, and I hacked the programs a >>>>> bit, and wrote a configuration file for usbhidaction, and finally I >>>>> can use the multimedia keys. >>>>> These programs have problems parsing the Report ID field. You might >>>>> have to refer to the HID standard to modify them a bit. >>>>> >>>>> Good luck. >>>>> >>>> _______________________________________________ >>>> freebsd-drivers@freebsd.org mailing list >>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers >>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.= org" >>>> >>> >> _______________________________________________ >> freebsd-drivers@freebsd.org mailing list >> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers >> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@freebsd.or= g" >> >
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?5cd4c4cd0908250932o10abd2d0n32a3425c1e1f5fca>