Reply
Thread Tools
Posts: 49 | Thanked: 23 times | Joined on Oct 2009 @ Oulu, Finland
#231
Originally Posted by Ulysses View Post
Is anything changed after the latest firmware update (3.2010.02-8.002) as to what concerns us in this thread, pairing/connecting/remapping bluetooth keyboards?

Thanks in advance.
Seems to work as before. No changes to worse or better.
 
Posts: 85 | Thanked: 29 times | Joined on Jan 2008
#232
Ah, thanks.
My customizations in /usr/share/X11 were gone after the update, and one needs to re-install xkb-chinook, etc.

I had hoped that something would have happened upstream, and that support for bluetooth keyboards would be official.

I was dreaming. This issue has not received a lot of votes, and it is not a priority for Nokia. Too bad.
 
Posts: 2 | Thanked: 1 time | Joined on Feb 2010
#233
Hi filologen,

I have a nokia su-8w with danish layout.

I tried starting out by:

$ cp -i /usr/share/X11/xkb-chinook/geometry/pc /usr/share/X11/xkb/geometry/.

- but I get an error "cannot stat /usr/share/X11/xkb-chinook/geometry/pc"

Do I need to do something prior to this?

Best regards,
ErnieDK
 
Posts: 121 | Thanked: 54 times | Joined on Oct 2007 @ New York, US
#234
Originally Posted by borgmountain View Post
I seem to get stuck at step five where I get the following error message:

Error org.freedesktop.DBus.Error.UnknownMethod: Method "Connect" with signature "" on interface "org.bluez.Input" doesn't exist

What do I do wrong.
Can anyone please enlighten me

Kind regards

------------------
I was getting the same error, until I realized that I was using the MAC of the N900 instead of the MAC of the BT keyboard.
Please double check that you are *indeed* doing the steps from the howto (I spend 3 hours on this).
 
Posts: 121 | Thanked: 54 times | Joined on Oct 2007 @ New York, US
#235
I have just bought a Palm BT keyboard and I would like to share my experience in setting it up.

As you know I already have a ThinkOutside BT keyb that is setup properly (before the PR 1.1 upgrade) and works nicely.

Setting up the Palm keyboard took at least 6 hours of my life.
Everything seems to be kind of random: pairing, connecting.

At first I paired it rather quickly and then spent a lot of hours trying to get the N900 to connect to it. In vain. After discovering an error on my part (see my previous post) I got it to connect, but only for a couple of seconds.
I have installed syslog (as advised on this thread) and it showed:

bluetoothd[898]: Encryption failed: Permission denied(0x5)

I have no idea what this means and I couldn't find it on Google.
I have decided to re-pair, because that's what it sounded to me like it might be a problem.

But this time it wouldn't pair. I have must have tried like 20 times, when it finally wanted to pair.

I have quickly issued the dbus-send command and, finally, I could see that the bluetooth sign on N900 became blue and stayed like that.
Typing on the keyboard would be seen in the terminal.

I have closed the keyboard, waited until the N900 dropped the connection and then opened the keyboard again. It reconnected automatically and I could use it again.

So it seems like I have arrived at the same status as with the old one. Only I'm scared like hell to touch anything now, seeing how sensitive setting these up is.

And just to vent: it's amazing how things are regressing instead of moving forward. Instead of building upon the things that were working properly in the previous generation tablets it seems like Nokia is inventing the wheel again and again and again.
 
Posts: 121 | Thanked: 54 times | Joined on Oct 2007 @ New York, US
#236
Originally Posted by Ulysses View Post
Ah, thanks.
My customizations in /usr/share/X11 were gone after the update, and one needs to re-install xkb-chinook, etc.

I had hoped that something would have happened upstream, and that support for bluetooth keyboards would be official.

I was dreaming. This issue has not received a lot of votes, and it is not a priority for Nokia. Too bad.
This was a minor upgrade. Let's hope a (more) major one is coming and it fixes (some) things.

I have to leave on a vacation and I'm holding off on the upgrade as I don't want to start all over with this
 
Posts: 7 | Thanked: 0 times | Joined on Feb 2010
#237
Hi

Does anyone know where to find the instruction to set up the igo stoaway ultra slim keyboard bluetooth on the N900?
 
Posts: 8 | Thanked: 0 times | Joined on Oct 2009
#238
Originally Posted by jakoleh View Post
Here is my simple python script to execute setxkbmap when keyboard connects. You can test it if it is any use for you. It is very quick and dirty version, but is working for me. Just change those values to correct ones.
Cheers mate, that's great! Could you let me know if I'm using your script the right/best way... I'm doing the following:

1) Boot device, connect keyboard.
2) Open X Terminal, run setxkbmap manually.
3) Slide open built-in keyboard, press key.
4) In X Terminal, run 'nohup python keys.py &' (keys.py is your script). Close terminal.
5) Thereafter, whenever keyboard dis/reconnects, press a key on the built-in keyboard and the map will be reset.

Do you normally have to run setxkbmap manually? Are you placing your script in with the system init scripts or running as user?

Many thanks again
 
dcarter's Avatar
Posts: 229 | Thanked: 29 times | Joined on May 2006
#239
Originally Posted by jakoleh View Post
Here is my simple python script to execute setxkbmap when keyboard connects. You can test it if it is any use for you. It is very quick and dirty version, but is working for me. Just change those values to correct ones.

Code:
import sys
# import python dbus module
import dbus
# import python dbus GLib mainloop support
import dbus.mainloop.glib
import gobject
import thread, time
import re
import commands

#hildon-im-xkbtool --list
KEYBOARDNAME = "Nokia SU-8W"
#Keyboard mac address
DEVICE = "dev_00_0E_xx_xx_xx_xx"
#setxkbmap 
MODEL = "nokiasu8w"
LAYOUT = "fi"

def connected(*args, **kwargs):    
    bus = dbus.SystemBus()
    iface = dbus.Interface(bus.get_object('org.freedesktop.Notifications',
                                     '/org/freedesktop/Notifications'),
                                     'org.freedesktop.Notifications')
    if args[0] == "Connected":
        if args[1] == False:       
            iface.SystemNoteInfoprint(KEYBOARDNAME + " disconnected")
        else:
            iface.SystemNoteInfoprint(KEYBOARDNAME + " connected")
            time.sleep(2)
            testi = commands.getoutput("hildon-im-xkbtool --list")   
            #ID 3, Name: "keyboardname"
            keybId = re.search("ID (\\d+), Name: \"" + KEYBOARDNAME, str(testi)).group(1)
            commands.getoutput("setxkbmap -device " + keybId + 
                        " -I -I/usr/share/X11/xkb-chinook " +
                        "-rules base -model " + MODEL + 
                        " -layout " + LAYOUT)            
                            
    
def main():            
    dbus.mainloop.glib.DBusGMainLoop(set_as_default=True)
    # Get the session bus
    bus = dbus.SystemBus()        
    try:       
        #Get default adapter
        manager = dbus.Interface(bus.get_object("org.bluez",
                        "/"),
                        "org.bluez.Manager")
        #dbus-send --system --print-reply --dest=org.bluez / org.bluez.Manager.DefaultAdapter     
        adapter = manager.DefaultAdapter()
    # Get the remote interface for the remote object
        interface = dbus.Interface(bus.get_object('org.bluez',
                                   adapter + "/" + DEVICE), 
                                   "org.bluez.Input")  
        interface.connect_to_signal("PropertyChanged", connected)              
    except dbus.DBusException:        
        sys.exit(1)    
    loop = gobject.MainLoop()    
    loop.run()
    
if __name__ == "__main__":
    main()
OK, I apologize in advance,
but to run this script (after entering my own personal variables corresponding to my keyboard) should I create a text file with Leafpad?

If so, then how do I run it and make it always run?

dcarter
 
Posts: 49 | Thanked: 23 times | Joined on Oct 2009 @ Oulu, Finland
#240
Originally Posted by shadow52 View Post
Cheers mate, that's great! Could you let me know if I'm using your script the right/best way... I'm doing the following:

1) Boot device, connect keyboard.
2) Open X Terminal, run setxkbmap manually.
3) Slide open built-in keyboard, press key.
4) In X Terminal, run 'nohup python keys.py &' (keys.py is your script). Close terminal.
5) Thereafter, whenever keyboard dis/reconnects, press a key on the built-in keyboard and the map will be reset.

Do you normally have to run setxkbmap manually? Are you placing your script in with the system init scripts or running as user?

Many thanks again
You don't have to run setxkbmap manually. The idea of the script is that it will execute the setxkbmap command every time your keyboard is connected.

It works with the Nokia SU-8W keyboard very well.

With SU-8W you don't need to press any keys from internal keyboard.

PC105 keyboards doesn't work at the moment. I wasn't able to get mine Microsoft mobile keyboard 6000.

Originally Posted by dcarter View Post
OK, I apologize in advance,
but to run this script (after entering my own personal variables corresponding to my keyboard) should I create a text file with Leafpad?

If so, then how do I run it and make it always run?

dcarter
Yes you should create a text file using ex. leafpad and then save it to N900 (this is the same as /home/user/MyDocs from terminal) with name keys.py.

I haven't been able to get it start on startup so I have created a desktop icon for it using this guide: http://www.themaemo.com/howto-launch...om-a-shortcut/
(To get icon use this guide also: http://www.themaemo.com/howto-launch...ortcut-part-2/)

[Desktop Entry]
Encoding=UTF-8
Version=0.1
Type=Application
Terminal=false
Name=Nokia SU-8W
Exec=nohup python /home/user/MyDocs/keys.py
Icon=connect

It would be better if it would start on startup, but at least following tip didn't work (http://talk.maemo.org/showpost.php?p...8&postcount=11)
 
Reply

Thread Tools

 
Forum Jump


All times are GMT. The time now is 06:29.