GSP
Quick Navigator

Search Site

Unix VPS
A - Starter
B - Basic
C - Preferred
D - Commercial
MPS - Dedicated
Previous VPSs
* Sign Up! *

Support
Contact Us
Online Help
Handbooks
Domain Status
Man Pages

FAQ
Virtual Servers
Pricing
Billing
Technical

Network
Facilities
Connectivity
Topology Map

Miscellaneous
Server Agreement
Year 2038
Credits
 

USA Flag

 

 

Man Pages
UHIDD.CONF(5) FreeBSD File Formats Manual UHIDD.CONF(5)

uhidd.conf
uhidd configuration file

The uhidd.conf configuration file is read at initial startup of the uhidd(8) daemon to specify the configuration parameters for each class driver or the daemon itself.

The configuration file consists of a list of options. options are assignemnts written in the form “name=value”. A option name can be a device identifier or a driver parameter. A value is either a quoted string or a list of sub options. The syntax of a option with a list of options as value is:

name={
	option
	...
	option
}

The following is a list of options supported:

device_identifier
(list) The device_identifier consists of vendor id, product id and the optional interface number. The option name is written in the format vid:pid[:iface]. vid and pid are hexadecimals with prefix “0x”, while iface is a single decimal number (e.g. 0x045e:0x00f9:1). The value of this option is a list of sub options that apply to the specified device interface. If iface is omitted, sub options apply to all interfaces of the device. Also there is a special device identifier called default. Sub options under default apply to all the devices.
detach_kernel_driver
(bool) If set to “YES”, the uhidd daemon will detach the active kernel driver attached to the device before attaching itself. Otherwise the daemon will abort and let the kernel driver continue handling the device.
forced_attach
(bool) If set to “YES”, the uhidd daemon will attach the device interface even if there is an active kernel driver attached to the device, or if the daemon fails to detach the kernel driver.
kbd_attach
(bool) If set to “YES”, enable the keyboard class driver and attach it to the keyboard application collection.
mouse_attach
(bool) If set to “YES”, enable the mouse class driver and attach it to the mouse application collection.
vhid_attach
(bool) If set to “YES”, enable the virtual generic HID driver and attach it to any application collection that does not have a specific driver.
vhid_strip_id
(bool) If set to “YES”, instruct the vhid driver to strip the leading report id byte before passing the report to user.
vhid_devname
(string) Specify the name of the virtual HID device created by the virtual generic HID driver. The default name used for the device is “uvhid”.
cc_attach
(bool) If set to “YES”, enable the consumer control class driver and attach it to the consumer control application collection. Consumer control driver provides general support for multimedia keys found in USB keyboard.
cc_keymap
(list) This option specify the keymap for multimedia keys. The value is a list of sub options (key bindings). Each sub option has the form “usage=keycode” and specify exact one key binding between a USB HID usage and a keycode. For example, Mute=0x60” will bind multimedia key Mute to keycode 0x60. Normally, mapping usage to already assigned keycodes and causing conflicts is not desired. See FREEKEYS section below for a list of currently unused keycodes. Also refer to the HID Usage Tables in the USB specification for a list of usage names.

#
# For all devices, attach mouse and consumer control driver but
# do not attach keyboard and vhid driver. (say, keyboard is
# handled by the kernel driver ukbd(4) instead). Provide a global
# keymap which binds 4 multimedia keys found on most multimedia
# USB keyboard.
#
default={
	mouse_attach="YES"
	kbd_attach="NO"
	vhid_attach="NO"
	cc_attach="YES"
	cc_keymap={
		Play/Pause="0x54"
		Mute="0x60"
		Volume_Increment="0x63"
		Volume_Decrement="0x62"
	}
}

#
# Device specific config for Mircosoft Wireless Desktop 1000:
# Bind additional multimedia keys found on this combo.
#
0x045e:0x009d={
	cc_keymap={
		Help="0x68"
		Scan_Next_Track="0x5F"
		Scan_Previous_Track="0x5A"
		Play/Pause="0x54"
		Mute="0x60"
		Volume_Increment="0x63"
		Volume_Decrement="0x62"
		AL_Programmable_Button_Configuration="0x6F"
		AL_Email_Reader="0x7F"
		AL_Calculator="0x71"
		AL_Logoff="0x72"
		AL_Documents="0x64"
		AL_Spell_Check="0x70"
		AL_Image_Browser="0x7C"
		AL_Audio_Browser="0x7A"
		AC_New="0x6B"
		AC_Open="0x6C"
		AC_Close="0x6D"
		AC_Save="0x7D"
		AC_Print="0x79"
		AC_Undo="0x69"
		AC_Home="0x65"
		AC_Back="0x66"
		AC_Forward="0x67"
		AC_Zoom_In="0x75"
		AC_Zoom_Out="0x74"
		AC_Redo/Repeat="0x6A"
		AC_Reply="0x6E"
		AC_Forward_Msg="0x76"
		AC_Send="0x73"
	}
}

FreeBSD keyboard infrastructure support at most 127 keycodes. Most of the keycodes have been assigned. Unassigned keycodes can be bound to multimedia keys without problem. Among those already assigned keycodes, rarely used ones can be reassigned to multimedia keys as well. The following is a list of keycodes that can probably be “safely” reassigned.
Unused keycodes
Currently unused keycodes include: 0x54, 0x5A, 0x5F, 0x60, 0x62, 0x63, 0x6F, 0x71, 0x72, 0x74.
Rarely used keycodes
0x73, 0x70, 0x7D, 0x79, 0x7B, 0x5C, 0xF2, 0xF1, 0x78, 0x77, 0x76. These keycodes are most likely not used for English keyboard.
F13 - F24
0x64, 0x65, 0x66, 0x67, 0x68, 0x69, 0x6A, 0x6B, 0x6C, 0x6D, 0x6E, 0x76. These keycodes are for extra function keys found on some keyboards and can be reassigned if your keyboard doesn't have them.

/usr/local/etc/uhidd.conf
the default name of the configuration file

Some facts stated in this manual page might not be true.

uhidd(8)

HID Usage Tables: http://www.usb.org/developers/devclass_docs/Hut1_11.pdf

March 3, 2010 FreeBSD 13.1-RELEASE

Search for    or go to Top of page |  Section 5 |  Main Index

Powered by GSP Visit the GSP FreeBSD Man Page Interface.
Output converted with ManDoc.