![]() |
News | Profile | Code | Photography | Looking Glass | Projects | System Statistics | Uncategorized |
Blog |
I haven't used a Bluetooth keyboard or mouse with my laptop (Gentoo) in awhile, and decided to use my Apple Wireless Keyboard (the tiny one; w/out PgUp/PgDn, etc.) today. Unfortunately, I realized that hidd and friends no longer existed. Here are the versions I'm using:
[I--] [ ~] net-wireless/bluez-libs-3.32 (0) [I--] [ ~] net-wireless/bluez-utils-3.32 (0)
Figuring this was a mistake, I Googled around and found a ton of related Ubuntu forum posts and bug reports filed against the bluez-utils package in the "hardy" and "intrepid" (upcoming) releases.
Apparently, the Bluez folks decided to do away with the old daemons (hidd, etc.) and move everything to the dbus service-type (input.service, audio.service, etc.) model. Unfortunately, they left everyone with only a couple bad replacements for the easy "hidd --search" command:
Sure, the Gnome way sounds preferred, but not everyone uses Gnome (or X). What happens if I need to use a Bluetooth keyboard on a box w/out X? The dbus-send commands (described here) are fairly complex for such a routine task such as connecting a wireless keyboard.
It does seem that there's a configure option to compile the old daemons (and USE flag in Gentoo named "old-daemons") when the dbus-send commands fail, but this is just a temporary fix since it appears that these will be permanently removed and completely unsupported in the future.
I really hate deprecation, especially deprecation that involves GUI-centric replacements. Don't even get me started about NetworkManager.
Relevant links:
Update: What I did to get this whole pile of junk working:
(00:20:E0:79:0B:1F is my laptop's bdaddr and 00:1E:52:FA:6D:94 is my keyboard)
# echo "00:1E:52:FA:6D:94 1234" > /var/lib/bluetooth/00:20:E0:79:0B:1F/pincodes % dbus-send --system --type=method_call --print-reply --dest=org.bluez /org/bluez \ org.bluez.Manager.ActivateService string:input method return sender=:1.0 -> dest=:1.8 reply_serial=2 string "org.bluez" % dbus-send --system --type=method_call --print-reply --dest="org.bluez" /org/bluez/input \ org.bluez.input.Manager.CreateDevice string:00:1E:52:FA:6D:94
I hit 1 2 3 4 <ENTER> on the keyboard…
method return sender=:1.0 -> dest=:1.4 reply_serial=2 string "/org/bluez/input/keyboard6" % dbus-send --system --type=method_call --print-reply --dest="org.bluez" \ /org/bluez/input/keyboard6 org.bluez.input.Device.Connect method return sender=:1.0 -> dest=:1.7 reply_serial=2
Keyboard then started to work.
New comments are currently disabled for this entry.
![]() ![]() ![]() ![]() ![]() |
This HTML for this page was generated in 0.001 seconds. |