|
2010-07-02
, 14:01
|
Posts: 1 |
Thanked: 0 times |
Joined on Jul 2010
|
#302
|
5. Send this command:BUT you need to replace /org/bluez/11984/hci0 by whatever response you got in step 2 (actually the number should be only thing that will be different) and replace 00_07_61_75_xx_xx by the mac address of your keyboard from step 4 (replacing all colons by underscores)Code:dbus-send --system --print-reply --dest=org.bluez /org/bluez/11984/hci0/dev_00_07_61_75_xx_xx org.bluez.Input.Connect
JoHnY
|
2010-07-08
, 06:25
|
|
Moderator |
Posts: 7,109 |
Thanked: 8,820 times |
Joined on Oct 2007
@ Vancouver, BC, Canada
|
#303
|
Thank you both for the quick responses! And thanks to the rest of the contributors to this thread, especially qobi! This is very encouraging.
However, I think my input profile was unchanged by the update. If you mean by that the DisablePlugins setting in /etc/bluetooth/main.conf. It is still "network, hal" only, no "input". And my chinook files are still where they were, in /usr/share/X11/xkb-chinook. But there's no reason to expect xkbmap to work or the keys to appear if hildon-im-xkbtool doesn't show the device. The only proof I have they talk at all is that the pairing "succeeds".
But I don't mind getting everybody out of the car then back in and trying again. I'll do that tonight and report success or not!
Update: Got it to work with JoHnY's dbus-send and hcitool scan commands. I also had to to delete the keyboard from the N900's bluetooth devices list and re-pair. Thank you! Now all is fine except the Enter key goes silent periodically. Somewhere else in this thread is the clue to use Ctl-Enter in this case and that indeed works. But I've found after a few times even that doesn't work if the N900 slider keyboard is closed. With the slider open Enter always works. That's fine, it's better open anyway. The little screen is just that much closer. This is an outstanding 12.5 oz full keyboard computer!
Update continued: This still works, but there are anamolies and the setup dies out periodically. The routine is:
1) turn on bluetooth (assuming you've paired the keyboard previously)
2) run the setxkbmap command (I made an alias in my .profile, as an example, it is: "gkb='setxkbmap -device 4 -I -I/usr/share/X11/xkb-chinook -rules base -model pc105 -layout us')
3) Hit some key on the N900's slide-out keyboard (THIS is easy to forget!) and you're set. I've typed this msg using the iGo Ultra Slim Stowaway. For some reason I had to do step's 2 and & 3 twice. Still it's an outstanding solution. Thanks again to all contributors!!
|
2010-07-08
, 14:11
|
Posts: 42 |
Thanked: 27 times |
Joined on Jun 2010
|
#304
|
Johny, thank you for taking the time for writing such a great manual. But at step 5 I end up with a "Host is down (112)". :-(
The Keyboard (Stowaway XTBT01) does not show up when searching for it (hildon-im-xkbtool --list). Neither is it properly connected as a HID device. It shows up in the list of bluetooth devices as a keyboard and a trusted device, but when I click on it the "disconnect"-button is greyed out and there is no indicator blinking on the keyboard.
After about 3 hours of "what the" I tend to give up. Any advice? I would be very thankful.
Anyways, great all of you shared so much experience.
|
2010-07-08
, 15:44
|
Posts: 42 |
Thanked: 27 times |
Joined on Jun 2010
|
#305
|
ERROR:dbus.connection:Exception in handler for D-Bus signal: Traceback (most recent call last): File "/usr/lib/pymodules/python2.5/dbus/connection.py", line 214, in maybe_handle_message self._handler(*args, **kwargs) File "./keyboard.py", line 34, in connected keybId = re.search("ID (\\d+), Name: \"" + KEYBOARDNAME, str(testi)).group(1) AttributeError: 'NoneType' object has no attribute 'group'
dbus-send --system --print-reply --dest=org.blue /org/bluez/${NUMERO}/hci0/dev_${MAC_TECLAT} org.bluez.Input.Connect
|
2010-07-08
, 18:36
|
|
Moderator |
Posts: 7,109 |
Thanked: 8,820 times |
Joined on Oct 2007
@ Vancouver, BC, Canada
|
#306
|
|
2010-07-08
, 22:26
|
|
Moderator |
Posts: 7,109 |
Thanked: 8,820 times |
Joined on Oct 2007
@ Vancouver, BC, Canada
|
#307
|
setxkbmap -device 4 -I -I/usr/share/X11/xkb-chinook -rules base -model pc105 -layout us -print | xkbcomp - :1 2>/dev/null
setxkbmap -device 3 -I -I/usr/share/X11/xkb -rules base
setxkbmap -device 4 -I -I/usr/share/X11/xkb-chinook -rules base -model pc105 -layout us
|
2010-07-11
, 21:00
|
|
Moderator |
Posts: 7,109 |
Thanked: 8,820 times |
Joined on Oct 2007
@ Vancouver, BC, Canada
|
#308
|
The Following User Says Thank You to qole For This Useful Post: | ||
|
2010-07-12
, 08:57
|
Posts: 44 |
Thanked: 18 times |
Joined on May 2010
@ Somewhere on earth
|
#309
|
I figured out why other people were not able to replicate my ability to get bluetooth keyboards to work. It was due to residue from some of my early attempts. This post outlines what I believe should work for everyone.
First, let me emphasize that you should not attempt to do this unless you know what you are doing. If you make a mistake and mess up the /usr/share/X11/xkb directory you will brick your device and need to reflash. I know because I did.
This assumes that you have already enabled HID bluetooth by editing /etc/bluetooth/main.conf as described elsewhere. And that you hae already installed /usr/share/X11/xkb-chinook from the tar file that I posted earlier in this thread.
As root do:
# cd /usr/share/X11
# cp -i xkb-chinook/symbols/pc xkb/symbols/.
# cp -i xkb-chinook/symbols/us xkb/symbols/.
# cp -i xkb-chinook/geometry/pc xkb/geometry/.
Make sure that in the above you give cp the -i option and that you do not overwrite any files in /usr/share/X11/xkb/
Then as user do:
$ setxkbmap -device 4 -I -I/usr/share/X11/xkb-chinook -rules base -model pc105 -layout us
Then type a key (any key) on the internal keyboard. Now the external keyboard should work.
I don't know why you need to type a key on the internal keyboard for this to take effect.
The above assume that the keyboard is connected to device 4 which is what usually happens. But you should check first as described earlier in this thread.
You will need to reissue the setxkbmap command (as user) and type a key on the internal keyboard each time you connect the bluetooth keyboard. I find that periodically, the bluetooth connection to the keyboard is dropped and reinitialized. I don't know why this happens. But when it does you need to reissue the setxkbmap command and type a key on the internal keyboard. So I find it useful to have a shell script for it.
If someone else gets this to work, I'd appreciate hearing about it.
|
2010-07-22
, 07:46
|
Posts: 3 |
Thanked: 1 time |
Joined on Jul 2010
@ DFW, Texas
|
#310
|
but you only are specifying the keyboard type
you need to do the rfcomm thing to make the serial device in /dev
and then you run kbbd with that serial device as the input AND the keyboard type!