![]() |
Re: how to get bluetooth pc105 keyboards to work with N900
Hey qobi,
Thanks for jumping back on the thread! Quote:
Code:
~/MyDocs/bin/bluetooth_keyboard $ whoami Thanks. |
Re: how to get bluetooth pc105 keyboards to work with N900
2 Attachment(s)
I have the same keyboard as you. Here is the output of xkbcomp before and after I issue setxkbmap.
|
Re: how to get bluetooth pc105 keyboards to work with N900
I should also point out that I get the same output as you for hildon-im-xkbtool -g bot before and after. the setxkbmap.
|
Re: how to get bluetooth pc105 keyboards to work with N900
1 Attachment(s)
Enclosed is the strace output when I successfully run setxkbmap.
A diff against yours might help figure out what is going on. One thing I noticed is that I have two symlinks in /usr/share/X11/xkb-chinook: compiled -> /var/lib/xkb xkbcomp -> ../../../bin/xkbcomp At this point I don't recall whether they were created automatically or whether I created them manually when I setup the directory because I saw similar symlinks in the native /usr/share/X11/xkb on the N900. But the ctimes and mtimes indicate that they were created the same day as my original post to this thread which indicates that they may be related. But I'm not sure because strace doesn't show them being accessed. |
Re: how to get bluetooth pc105 keyboards to work with N900
Another idea. I tried lots of things before I got it to work. And I don't remember precisely what they all were. And some of those may have laid the groundwork, i.e. changed the state of something which eventually allowed the setxkbmap command to work reliably.
One of those things was piping through xkbcomp. The man page for setxkbmap (on Lenny) states: USING WITH xkbcomp If you have an Xserver and a client shell running on different comput- ers and XKB configuration files on those machines are different you can get problems specifying a keyboard map by model, layout, options names. This is because setxkbcomp converts these names to names of XKB config- uration files according to files that are on the client side computer, then it sends the file names to the server where the xkbcomp has to compose a complete keyboard map using files which the server has. Thus if the sets of files differ significantly the names that the setxkbmap generates can be unacceptable on the server side. You can solve this problem by running the xkbcomp on the client side too. With the -print option setxkbmap just prints the file names in an appropriate format to its stdout and this output can be piped directly to the xkbcomp input. For example, the command setxkbmap us -print | xkbcomp - $DISPLAY makes both steps run on the same (client) machine and loads a keyboard map into the server. I probably gave the full set of args to setxkbmap (except for device) and then specified the device to xkbcomp. The man page (on Lenny) for xkbcomp doesn't mention the -i device option but if you run xkbcomp -help you see that it accepts such. |
Re: how to get bluetooth pc105 keyboards to work with N900
Can someone try the following to help diagnose this. Install /usr/share/X11/xkb-chinook (from my earlier post) and create the symlinks as per my earlier post. Then try
setxkbmap -device 4 -I -I/usr/share/X11/xkb-chinook -rules base -model pc105 -layout us where the device is appropriate for your machine (run hildon-im-xkbtool --list to find out). Let me know if that works. If it doesn't can you try: setxkbmap -I -I/usr/share/X11/xkb-chinook -rules base -model pc105 -layout us -print|xkbcomp -i 4 - $DISPLAY where again, you first setup the symlinks as per my earlier post and also change -i 4 to the appropriate device. Let me know if that works. And if someone can post the an strace of when it doesn't work and compare it against the working strace that I posted, that would also help diagnose this. If neither of these work, I have an idea of what it could be. |
Re: how to get bluetooth pc105 keyboards to work with N900
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. |
Re: how to get bluetooth pc105 keyboards to work with N900
Should this method work for the igo stowaway?
|
Re: how to get bluetooth pc105 keyboards to work with N900
Quote:
|
Re: how to get bluetooth pc105 keyboards to work with N900
OK Thanks qobi. I will have a go at this. I'm a windows user so I may have to ask some easy questions as I try.
|
All times are GMT. The time now is 15:03. |
vBulletin® Version 3.8.8