Bug 2850 - On screen keyboard dooesn't always realise that bluetooth keyboard has been connected or disconnected
: On screen keyboard dooesn't always realise that bluetooth keyboard has been c...
Status: RESOLVED WONTFIX
Product: Desktop platform
Input method framework
: 4.1 (4.2008.23-14)
: N800 Linux
: Low normal with 18 votes (vote)
: 5.0 (1.2009.41-10)
Assigned To: Mohammad Anwari
: input-method-framework-bugs
:
:
:
:
  Show dependency tree
 
Reported: 2008-01-28 14:19 UTC by darkstarsword
Modified: 2009-09-28 16:37 UTC (History)
7 users (show)

See Also:


Attachments


Note

You need to log in before you can comment on or make changes to this bug.


Description darkstarsword (reporter) 2008-01-28 14:19:02 UTC
SOFTWARE VERSION:
2.2007.50-2

STEPS TO REPRODUCE THE PROBLEM:
Connect or disconnect my Dell bluetooth keyboard Y-RAQ-DEL2 to the tablet.
Doesn't appear to matter whether the [dis]connection was initiated from the GUI
(bluetooth->disconnect dell bluetooth keyboard), or the keyboard (ie, when
hitting a key if it was disconnected or turning off the keyboard)

EXPECTED OUTCOME:
On screen keyboard should not be used while keyboard is connected and should
automatically reactivate once keyboard is disconnected.

ACTUAL OUTCOME:
Bluetooth layer detects [dis]connect event but sometimes the input method fails
to recognise this, which results in:
* for failed connection: on screen keyboard still appears when tapping on a
text field and (more annoyingly), the enter key triggers the large keyboard to
appear rather than a newline.
* for failed disconnect: I am unable to bring up the on screen keyboard until I
reboot the tablet - tapping on a text field only results in the autocomplete
bar appearing.

REPRODUCIBILITY:
sometimes/often

EXTRA SOFTWARE INSTALLED:
lots of extras from various sources. Possibly of relevance is btaudit and
xkbdbthid.

OTHER COMMENTS:
Once this occurs the input mode seems to get stuck in whichever mode it is in -
re-pairing and disconnecting the keyboard does not help, and the only solution
is to reboot the tablet.
Comment 1 michaelwpeterson 2008-02-08 07:54:29 UTC
I second this bug. Just got an iGo stowaway keyboard for my wife's n800 and I
discovered this bug the first time I used the keyboard.
Comment 2 bob.loblaw.the.third 2008-02-20 18:37:56 UTC
I have the following problem, noted in this bug: "I am unable to bring up the
on screen keyboard until I reboot the tablet - tapping on a text field only
results in the autocomplete bar appearing."
Comment 3 Marc Tucker 2008-02-21 00:30:47 UTC
I also experience this issue upon disconnecting a USB keyboard.  The on screen
(virtual) keyboard does not appear when requested.
Comment 4 Marc Tucker 2008-02-21 00:31:18 UTC
*** This bug has been confirmed by popular vote. ***
Comment 5 bob.loblaw.the.third 2008-02-26 17:46:04 UTC
Thanks to sjgadsby at ITT, I have discovered how to avert this bug. The
solution: re-enabling the bluetooth icon in the status bar via the "Panels"
control panel.

Of course, it should still be possible to get immediate access to the on-screen
keyboard even if the bluetooth status bar icon is disabled.
Comment 6 Paul M 2008-03-06 00:56:08 UTC
this happens consistently when I use a nano USB keyboard.
Comment 7 Mark Haury 2008-04-17 21:25:00 UTC
This is not restricted to bluetooth; USB keyboards also require a reboot after
disconnecting in order to get the onscreen keyboard back.
Comment 8 cointoss50 2008-04-22 21:20:41 UTC
This bug makes the N800 unusable and the fix is very non-obvious. Thus I think
it deserves high priority. The fix now is:

Run in Xterm:

gconftool -t bool -s /system/osso/af/slide-open false
Comment 9 Mohammad Anwari maemo.org 2008-04-23 10:12:19 UTC
Kimmo, doesn't ke-recv initialise some value in the slide-open key at some
point?
Comment 10 Kimmo Hämäläinen nokia 2008-04-23 11:15:07 UTC
(In reply to comment #9)
> Kimmo, doesn't ke-recv initialise some value in the slide-open key at some
> point?

It could depend on the version of ke-recv. What version are you using?
Comment 11 Mohammad Anwari maemo.org 2008-04-23 11:21:48 UTC
(In reply to comment #10)
> It could depend on the version of ke-recv. What version are you using?
> 

At least from the initial description the image version is
2.2007.50-2
Comment 12 Kimmo Hämäläinen nokia 2008-04-23 12:09:25 UTC
It seems to have 2.22-1nocheck5, should be no bugs in that version. The default
value for slide-open is false. Syslog would tell more, if you could install the
syslogd and attach the log here.
Comment 13 Paul M 2008-04-23 12:35:21 UTC
this happens for me using a bluetooth keyboard, even when I am using a mini-B
to A adaptor which autoswitches the N800 so that there's no possibility of any
subsystem assuming that the keyboard might still be connected as usb host goes
away when unplugged!
Comment 14 Kimmo Hämäläinen nokia 2008-04-23 12:52:50 UTC
Could you give the output of command

"lshal | grep slide"

and this one before and after attaching the BT keyboard:

"cat /sys/devices/platform/gpio-switch/slide/state"
Comment 15 darkstarsword (reporter) 2008-04-23 13:55:36 UTC
"lshal | grep slide" gives no output and
/sys/devices/platform/gpio-switch/slide does not exist on my N800. Although I
am currently unable to reproduce this bug - possibly because I have done a red
pill update since initially reporting it and this is the first time I have
checked if it still occurs. Maybe something else has changed on my tablet,
maybe I'm just having a lucky day and it will occur 10 seconds after I post
this.

I've had a thought from when the bug was occurring to me that one of the above
comments reminded me of - the first sign that it was happening was usually the
auto-complete bar appearing while the keyboard was connected. It didn't always
appear immediately after connecting the keyboard - sometimes it would only
appear after I had been working for a while in several applications.

It seems to me that something occasionally must have inadvertently set that
slide-open option as mentioned above while a keyboard is connected since
manually setting that to true has the same symptoms as the bug.
Comment 16 Kimmo Hämäläinen nokia 2008-04-23 13:58:28 UTC
(In reply to comment #15)
> "lshal | grep slide" gives no output and
> /sys/devices/platform/gpio-switch/slide does not exist on my N800. Although I
...

Then it's impossible that ke-recv would have changed the slide-open key.
Comment 17 Steven Luo 2008-05-17 05:31:44 UTC
Given that this behavior seems to be triggered by a GConf setting, it would
seem that forcing the setting to false using a GConf mandatory default would be
a usable (if ugly) workaround.  Try, for example, running

gconftool-2 --direct
--config-source=xml:readwrite:/etc/gconf/gconf.xml.mandatory -t bool -s
/system/osso/af/slide-open 0

as root and then rebooting the tablet (or at least restarting gconfd).  I have
been unable to reproduce this bug in several tries since setting this, though
(to be fair) I've never been able to reproduce this one consistently.

If a better fix can't be found, would it be possible to have this setting for
N800s only in the next software revision?
Comment 18 Sanjeev Visvanatha 2008-06-27 06:29:03 UTC
I still find the onscreen keyboard fails to popup after the bt one disconnects.
 The problem is not fixed with Diablo.
Comment 19 Andre Klapper maemo.org 2009-06-23 17:49:52 UTC
This is a WONTFIX for Diablo (Maemo4) as Diablo is in maintenance mode and
Nokia will only provide bugfixes for critical issues if at all.

Also worth to mention that fixing Bluetooth issues currently does not have the
highest priority for Fremantle (Maemo5) so I don't expect this to be fixed in
the final Fremantle version (might end up as WONTFIX for Fremantle too).
Comment 20 Andre Klapper maemo.org 2009-09-28 16:37:03 UTC
This is a WONTFIX for both Maemo5 and Maemo4 as using a Bluetooth keyboard is
not officially supported in Maemo 5 (of course improvements can always be made
by community or third party enhancements).

Please note though that according to
http://wiki.maemo.org/Fremantle_Unsupported_Bluetooth_profiles Maemo5 comes
with the bluetoothd input plugin installed but disabled through
/etc/bluetooth/main.conf , so it should not be hard to work around this.