jakoleh
|
2010-02-16
, 21:43
|
Posts: 49 |
Thanked: 23 times |
Joined on Oct 2009
@ Oulu, Finland
|
#231
|
|
2010-02-17
, 07:23
|
Posts: 85 |
Thanked: 29 times |
Joined on Jan 2008
|
#232
|
|
2010-02-17
, 11:17
|
Posts: 2 |
Thanked: 1 time |
Joined on Feb 2010
|
#233
|
|
2010-02-18
, 05:09
|
Posts: 121 |
Thanked: 54 times |
Joined on Oct 2007
@ New York, US
|
#234
|
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
------------------
|
2010-02-18
, 05:19
|
Posts: 121 |
Thanked: 54 times |
Joined on Oct 2007
@ New York, US
|
#235
|
|
2010-02-18
, 05:21
|
Posts: 121 |
Thanked: 54 times |
Joined on Oct 2007
@ New York, US
|
#236
|
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.
|
2010-02-18
, 16:36
|
Posts: 7 |
Thanked: 0 times |
Joined on Feb 2010
|
#237
|
|
2010-02-20
, 22:39
|
Posts: 8 |
Thanked: 0 times |
Joined on Oct 2009
|
#238
|
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.
|
2010-02-21
, 06:22
|
|
Posts: 229 |
Thanked: 29 times |
Joined on May 2006
|
#239
|
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()
|
2010-02-21
, 08:09
|
Posts: 49 |
Thanked: 23 times |
Joined on Oct 2009
@ Oulu, Finland
|
#240
|
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
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