Skip site navigation (1)Skip section navigation (2)
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>