Dell USB keyboard

View: New views
9 Messages — Rating Filter:   Alert me  

Dell USB keyboard

by Israel Jacques :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hello all.

I have the following keyboard:
http://support.dell.com/support/edocs/acc/P76379/sk8135.jpg and I
would like to add support for the hot keys and the multimedia buttons
including the knob.

dmesg:
uhub1: <Dell Dell USB Keyboard Hub, class 9/0, rev 1.10/2.00, addr 3> on uhub0
uhub1: 3 ports with 2 removable, bus powered
ukbd0: <Dell Dell USB Keyboard, class 0/0, rev 1.10/2.00, addr 4> on uhub1
kbd2 at ukbd0
uhid0: <Dell Dell USB Keyboard, class 0/0, rev 1.10/2.00, addr 4> on uhub1

usbdevs -v:
 port 2 addr 3: full speed, power 100 mA, config 1, Dell USB Keyboard
Hub(0x1003), Dell(0x413c), rev 2.00
 port 1 addr 4: full speed, power 50 mA, config 1, Dell USB
Keyboard(0x2010), Dell(0x413c), rev 2.00

I tried xev and nothing worked.

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
XF86Forward
XF86Stop
XF86Refresh
XF86HomePage
XF86Mail
XF86MyComputer
XF86Calculator
XF86AudioMute
XF86AudioStop
XF86AudioPrev
XF86AudioNext
XF86AudioPlay
XF86AudioLowerVolume
XF86AudioRaiseVolume

Any suggestions?
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by dieter-7 :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

> 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?  Appears to be in ports.
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by Henry Hu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
> _______________________________________________
> freebsd-drivers@... mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>
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@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by Israel Jacques :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

I have the following in my ~/.xmodmaprc:

keycode 234 = XF86Back
keycode 233 = XF86Forward
keycode 232 = XF86Stop
keycode 231 = XF86Refresh
keycode 130 = XF86HomePage
keycode 236 = XF86Mail
keycode 198 = XF86MyComputer
keycode 161 = XF86Calculator
keycode 160 = XF86AudioMute
keycode 164 = XF86AudioStop
keycode 144 = XF86AudioPrev
keycode 153 = XF86AudioNext
keycode 162 = XF86AudioPlay
keycode 129 = XF86AudioMedia
keycode 174 = XF86AudioLowerVolume
keycode 176 = XF86AudioRaiseVolume

And it doesn't work with my WM.

Thanks for the tip.

So far, I ran (as root):

# usbhidctl -anrv -f /dev/uhid0
Report descriptor:
Total   input size 0 bytes
Total  output size 1 bytes
Total feature size 1 bytes

On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@...> wrote:

> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
>> _______________________________________________
>> freebsd-drivers@... mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>
> 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@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by Henry Hu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Mon, Aug 24, 2009 at 1:10 PM, Israel Jacques<mrkotfw@...> wrote:

> I have the following in my ~/.xmodmaprc:
>
> keycode 234 = XF86Back
> keycode 233 = XF86Forward
> keycode 232 = XF86Stop
> keycode 231 = XF86Refresh
> keycode 130 = XF86HomePage
> keycode 236 = XF86Mail
> keycode 198 = XF86MyComputer
> keycode 161 = XF86Calculator
> keycode 160 = XF86AudioMute
> keycode 164 = XF86AudioStop
> keycode 144 = XF86AudioPrev
> keycode 153 = XF86AudioNext
> keycode 162 = XF86AudioPlay
> keycode 129 = XF86AudioMedia
> keycode 174 = XF86AudioLowerVolume
> keycode 176 = 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   input size 0 bytes
> Total  output size 1 bytes
> Total feature size 1 bytes
>
> On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@...> wrote:
>> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
>>> _______________________________________________
>>> freebsd-drivers@... mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>
>> 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@... mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by Israel Jacques :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

Hi Henry.

After about a minute of running: usbhidctl -alrv -f /dev/uhid0 > dump, I get:
00000000  52 65 70 6f 72 74 20 64  65 73 63 72 69 70 74 6f  |Report descripto|
00000010  72 3a 0a 54 6f 74 61 6c  20 20 20 69 6e 70 75 74  |r:.Total   input|
00000020  20 73 69 7a 65 20 30 20  62 79 74 65 73 0a 54 6f  | size 0 bytes.To|
00000030  74 61 6c 20 20 6f 75 74  70 75 74 20 73 69 7a 65  |tal  output size|
00000040  20 31 20 62 79 74 65 73  0a 54 6f 74 61 6c 20 66  | 1 bytes.Total f|
00000050  65 61 74 75 72 65 20 73  69 7a 65 20 31 20 62 79  |eature size 1 by|
00000060  74 65 73 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |tes.............|
00000070  0a 0a 0a 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |................|
*
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?

On Mon, Aug 24, 2009 at 10:02 PM, Henry Hu<henry.hu.sh@...> wrote:

> On Mon, Aug 24, 2009 at 1:10 PM, Israel Jacques<mrkotfw@...> wrote:
>> I have the following in my ~/.xmodmaprc:
>>
>> keycode 234 = XF86Back
>> keycode 233 = XF86Forward
>> keycode 232 = XF86Stop
>> keycode 231 = XF86Refresh
>> keycode 130 = XF86HomePage
>> keycode 236 = XF86Mail
>> keycode 198 = XF86MyComputer
>> keycode 161 = XF86Calculator
>> keycode 160 = XF86AudioMute
>> keycode 164 = XF86AudioStop
>> keycode 144 = XF86AudioPrev
>> keycode 153 = XF86AudioNext
>> keycode 162 = XF86AudioPlay
>> keycode 129 = XF86AudioMedia
>> keycode 174 = XF86AudioLowerVolume
>> keycode 176 = 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   input size 0 bytes
>> Total  output size 1 bytes
>> Total feature size 1 bytes
>>
>> On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@...> wrote:
>>> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
>>>> _______________________________________________
>>>> freebsd-drivers@... mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>
>>> 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@... mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>
>
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by Henry Hu :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

On Tue, Aug 25, 2009 at 2:03 PM, Israel Jacques<mrkotfw@...> wrote:

> Hi Henry.
>
> After about a minute of running: usbhidctl -alrv -f /dev/uhid0 > dump, I get:
> 00000000  52 65 70 6f 72 74 20 64  65 73 63 72 69 70 74 6f  |Report descripto|
> 00000010  72 3a 0a 54 6f 74 61 6c  20 20 20 69 6e 70 75 74  |r:.Total   input|
> 00000020  20 73 69 7a 65 20 30 20  62 79 74 65 73 0a 54 6f  | size 0 bytes.To|
> 00000030  74 61 6c 20 20 6f 75 74  70 75 74 20 73 69 7a 65  |tal  output size|
> 00000040  20 31 20 62 79 74 65 73  0a 54 6f 74 61 6c 20 66  | 1 bytes.Total f|
> 00000050  65 61 74 75 72 65 20 73  69 7a 65 20 31 20 62 79  |eature size 1 by|
> 00000060  74 65 73 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |tes.............|
> 00000070  0a 0a 0a 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |................|
> *
> 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@...> wrote:
>> On Mon, Aug 24, 2009 at 1:10 PM, Israel Jacques<mrkotfw@...> wrote:
>>> I have the following in my ~/.xmodmaprc:
>>>
>>> keycode 234 = XF86Back
>>> keycode 233 = XF86Forward
>>> keycode 232 = XF86Stop
>>> keycode 231 = XF86Refresh
>>> keycode 130 = XF86HomePage
>>> keycode 236 = XF86Mail
>>> keycode 198 = XF86MyComputer
>>> keycode 161 = XF86Calculator
>>> keycode 160 = XF86AudioMute
>>> keycode 164 = XF86AudioStop
>>> keycode 144 = XF86AudioPrev
>>> keycode 153 = XF86AudioNext
>>> keycode 162 = XF86AudioPlay
>>> keycode 129 = XF86AudioMedia
>>> keycode 174 = XF86AudioLowerVolume
>>> keycode 176 = 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   input size 0 bytes
>>> Total  output size 1 bytes
>>> Total feature size 1 bytes
>>>
>>> On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@...> wrote:
>>>> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
>>>>> _______________________________________________
>>>>> freebsd-drivers@... mailing list
>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>>
>>>> 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@... mailing list
>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>
>>
> _______________________________________________
> freebsd-drivers@... mailing list
> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Re: Dell USB keyboard

by Israel Jacques :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

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/dellsk8125
(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@...> wrote:

> On Tue, Aug 25, 2009 at 2:03 PM, Israel Jacques<mrkotfw@...> wrote:
>> Hi Henry.
>>
>> After about a minute of running: usbhidctl -alrv -f /dev/uhid0 > dump, I get:
>> 00000000  52 65 70 6f 72 74 20 64  65 73 63 72 69 70 74 6f  |Report descripto|
>> 00000010  72 3a 0a 54 6f 74 61 6c  20 20 20 69 6e 70 75 74  |r:.Total   input|
>> 00000020  20 73 69 7a 65 20 30 20  62 79 74 65 73 0a 54 6f  | size 0 bytes.To|
>> 00000030  74 61 6c 20 20 6f 75 74  70 75 74 20 73 69 7a 65  |tal  output size|
>> 00000040  20 31 20 62 79 74 65 73  0a 54 6f 74 61 6c 20 66  | 1 bytes.Total f|
>> 00000050  65 61 74 75 72 65 20 73  69 7a 65 20 31 20 62 79  |eature size 1 by|
>> 00000060  74 65 73 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |tes.............|
>> 00000070  0a 0a 0a 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |................|
>> *
>> 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@...> wrote:
>>> On Mon, Aug 24, 2009 at 1:10 PM, Israel Jacques<mrkotfw@...> wrote:
>>>> I have the following in my ~/.xmodmaprc:
>>>>
>>>> keycode 234 = XF86Back
>>>> keycode 233 = XF86Forward
>>>> keycode 232 = XF86Stop
>>>> keycode 231 = XF86Refresh
>>>> keycode 130 = XF86HomePage
>>>> keycode 236 = XF86Mail
>>>> keycode 198 = XF86MyComputer
>>>> keycode 161 = XF86Calculator
>>>> keycode 160 = XF86AudioMute
>>>> keycode 164 = XF86AudioStop
>>>> keycode 144 = XF86AudioPrev
>>>> keycode 153 = XF86AudioNext
>>>> keycode 162 = XF86AudioPlay
>>>> keycode 129 = XF86AudioMedia
>>>> keycode 174 = XF86AudioLowerVolume
>>>> keycode 176 = 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   input size 0 bytes
>>>> Total  output size 1 bytes
>>>> Total feature size 1 bytes
>>>>
>>>> On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@...> wrote:
>>>>> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
>>>>>> _______________________________________________
>>>>>> freebsd-drivers@... mailing list
>>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>>>
>>>>> 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@... mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>
>>>
>> _______________________________________________
>> freebsd-drivers@... mailing list
>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>
>
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."

Parent Message unknown Re: Dell USB keyboard

by Israel Jacques :: Rate this Message:

Reply to Author | View Threaded | Show Only this Message

None whatsoever. It could also be because the ports are legacy USB ports.

I'm stumped. What other options do I have?


On Thu, Aug 27, 2009 at 11:01 AM, Henry Hu<henry.hu.sh@...> wrote:

> Is there any key event when you press the multimedia keys in the xev window?
>
> On Wed, Aug 26, 2009 at 12:32 AM, Israel Jacques<mrkotfw@...> wrote:
>> 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/dellsk8125
>> (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@...> wrote:
>>> On Tue, Aug 25, 2009 at 2:03 PM, Israel Jacques<mrkotfw@...> wrote:
>>>> Hi Henry.
>>>>
>>>> After about a minute of running: usbhidctl -alrv -f /dev/uhid0 > dump, I get:
>>>> 00000000  52 65 70 6f 72 74 20 64  65 73 63 72 69 70 74 6f  |Report descripto|
>>>> 00000010  72 3a 0a 54 6f 74 61 6c  20 20 20 69 6e 70 75 74  |r:.Total   input|
>>>> 00000020  20 73 69 7a 65 20 30 20  62 79 74 65 73 0a 54 6f  | size 0 bytes.To|
>>>> 00000030  74 61 6c 20 20 6f 75 74  70 75 74 20 73 69 7a 65  |tal  output size|
>>>> 00000040  20 31 20 62 79 74 65 73  0a 54 6f 74 61 6c 20 66  | 1 bytes.Total f|
>>>> 00000050  65 61 74 75 72 65 20 73  69 7a 65 20 31 20 62 79  |eature size 1 by|
>>>> 00000060  74 65 73 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |tes.............|
>>>> 00000070  0a 0a 0a 0a 0a 0a 0a 0a  0a 0a 0a 0a 0a 0a 0a 0a  |................|
>>>> *
>>>> 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@...> wrote:
>>>>> On Mon, Aug 24, 2009 at 1:10 PM, Israel Jacques<mrkotfw@...> wrote:
>>>>>> I have the following in my ~/.xmodmaprc:
>>>>>>
>>>>>> keycode 234 = XF86Back
>>>>>> keycode 233 = XF86Forward
>>>>>> keycode 232 = XF86Stop
>>>>>> keycode 231 = XF86Refresh
>>>>>> keycode 130 = XF86HomePage
>>>>>> keycode 236 = XF86Mail
>>>>>> keycode 198 = XF86MyComputer
>>>>>> keycode 161 = XF86Calculator
>>>>>> keycode 160 = XF86AudioMute
>>>>>> keycode 164 = XF86AudioStop
>>>>>> keycode 144 = XF86AudioPrev
>>>>>> keycode 153 = XF86AudioNext
>>>>>> keycode 162 = XF86AudioPlay
>>>>>> keycode 129 = XF86AudioMedia
>>>>>> keycode 174 = XF86AudioLowerVolume
>>>>>> keycode 176 = 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   input size 0 bytes
>>>>>> Total  output size 1 bytes
>>>>>> Total feature size 1 bytes
>>>>>>
>>>>>> On Sat, Aug 22, 2009 at 11:09 PM, Henry Hu<henry.hu.sh@...> wrote:
>>>>>>> On Sun, Aug 23, 2009 at 10:16 AM, Dieter<freebsd@...> 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?  Appears to be in ports.
>>>>>>>> _______________________________________________
>>>>>>>> freebsd-drivers@... mailing list
>>>>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>>>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>>>>>
>>>>>>> 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@... mailing list
>>>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>>>
>>>>>
>>>> _______________________________________________
>>>> freebsd-drivers@... mailing list
>>>> http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
>>>> To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."
>>>>
>>>
>>
>
_______________________________________________
freebsd-drivers@... mailing list
http://lists.freebsd.org/mailman/listinfo/freebsd-drivers
To unsubscribe, send any mail to "freebsd-drivers-unsubscribe@..."