shift keys doesn't work in windows programs (with wine)

Bug #1065480 reported by David López
10
This bug affects 2 people
Affects Status Importance Assigned to Milestone
Onboard
Fix Released
Undecided
Unassigned

Bug Description

I need to use a windows program (some strange C compiler, sorry it's not freely avaliable) and I've installed with wine. I've noted an error in the windows native installtion program and in the installed compiler, both onboard shift keys doesn't work at all. That is, if I type '>' (shift+'<') it becomes '<', or ':' (shift+'.') becomes '.', or '_' (shift+'-') becomes '-'. Seems that wine/windows programs ignore onboard shift keys. Tested with an usb keyboard and it works fine.

I use Spanish layout in stable 0.98.1, and also a recent trunk onboard version, both of them built from sources in 64 bits archlinux. Both onboard versions failed.

Revision history for this message
Francesco Fumanti (frafu) wrote :

The problem also occurs when running Ubuntu in my Virtualbox installation.

Revision history for this message
marmuta (marmuta) wrote :

It seems virtkey calling XkbLockModifiers on modifier changes isn't sufficient in all situations. I was already planning to replace this with sending real (fake) key presses, that way frameworks and applications get to decide how to react to modifiers. The super keys do this since 0.98.0, see https://bugs.launchpad.net/bugs/900191.

The challenge is to get notified of modifier changes so Onboard can update its key labels. Wine and VirtualBox most likely aren't interested in xserver's modifier state and keep their own, so we probably won't get notified there and will have to guess the outcome. I predict there will be cases where Onboard's guess is wrong, i.e. showing wrong key labels, while typing will still do the right thing - basically the reverse of the situation we have now.
Still sounds like an improvement to me, though, I'll look into it.

Revision history for this message
marmuta (marmuta) wrote :

Confirming, as I have seen this happening in VirtualBox too.

Changed in onboard:
status: New → Confirmed
Revision history for this message
marmuta (marmuta) wrote :

Fixed in trunk, I believe. All modifiers except the left Alt key send keystrokes now. Alt is usually snatched up by window managers to move windows, so that key still only uses XkbLockModifiers as before. This is configurable in the layout now, though, no longer hard-coded.
The other modifiers seem to work here in Wine and VirtualBox. Let me know how it goes with you windows program, David.

Changed in onboard:
status: Confirmed → Fix Committed
Revision history for this message
David López (david-lopez-upct) wrote :

I've just built the trunk version (revision 1006) and both shift keys seem to work with wine.

However I'm suffering a graphic problem with that trunk version (not related with wine). It's not easy to explain, everytime I press a key that key turns black for a fraction of second; if I press the '123' button or the preferences button then entire onboard keyboard turns black for a while. Onboard becomes very ugly, I had to downgrade to a previous trunk version.

Not sure if I should file a bug, as you know maybe I'm using a mixture of python 3.2.3 and 3.3.0 packages, perhaps that causes the failure.

Revision history for this message
marmuta (marmuta) wrote :

I made some changes, could you check trunk again and see if the black key issue is still there? I wasn't able yet to reproduce this here with openbox.
Run it normally at first:
./onboard
then like this:
./onboard --no-low-latency
Let me know if one of these fixes the issue.

Revision history for this message
David López (david-lopez-upct) wrote :

I've just tested with trunk revision 1011 with different themes, distributions and transparence levels (*). No luck, both regular and no-low-latency onboard whows black rectangles when pressing keys.

(*) Transparence never work with arch+lxde+openbox, so actually change its settings in onboard-preferences is merely a formalism

Revision history for this message
David López (david-lopez-upct) wrote :

I've just built revision 1013 with python 3.3 and python-gobjet 3.4. The good part is that shift key works with wine, bad part is that black rectangles are present.

Should I open a new bug?

I don't know how bzr works, is it possible to use old trunk revisions? If so, I could move backwards to find which one causes the black rectangles problem.

Revision history for this message
marmuta (marmuta) wrote :

Thanks for the confirmation, I just managed to get it working in Arch with the testing repository too. There are other weird glitches here, like the labels too large for the keys, but the keys itself render fine so far.

Switching to old revisions is possible:
bzr revert -r 990
bzr revert -r 989 # I suspect the black keys are gone here at the latest

Back to head (latest revision) with
bzr revert

get revisions from
bzr log | less

If you need to clean up between builds try
bzr clean-tree

Open a bug please, yes.

Revision history for this message
David López (david-lopez-upct) wrote :

Thanks for your baazar information, it was very helpful to quickly build different verisons. You were right, problem appers in 990 revision. I've open lp:1068899

Revision history for this message
Francesco Fumanti (frafu) wrote :
Download full text (3.4 KiB)

The fix is available in the alpha 1 preview release of Onboard
0.99.0. Thus, I am marking this bug as Fix Released.

onboard (0.99.0~alpha1~tr1190-0ubuntu1) raring; urgency=low

  * New upstream alpha release. (LP: #1089396)
    + Fix Onboard becoming empty when system font dpi changes

 -- Francesco Fumanti <email address hidden> Wed, 12 Dec 2012
21:33:43 +0100

onboard (0.99.0~alpha1~tr1188-0ubuntu1) raring; urgency=low

  * Sponsorship request for Ubuntu Raring (LP: #1089396)
  * debian/control: raise virtkey run dependency to 0.63.0 or above
  * debian/patches: refresh patch and change default theme
  * Onboard requires now virtkey >= 0.63.0
  * Add example file with system defaults for the nexus7
  * Various changes to get acceptable speeds on the nexus7 (LP: #1070760)
  * Add docking feature (LP: #405034)
  * Add sliding feature for docking and auto-repositioning
  * Add multitouch support
  * Add a toggle to stop listening to touch events in case of many problems
  * Add popup on long press for key variants like diacritics
  * New option to choose popup vs repeat for keys with variants
  * New gsettings key for the popup delay
  * Make move, frame and touch handles work on the nexus7
  * Perform simulated clicks on correct touch position
  * Auto-release pointer grab after timeout in case nexus7 is unresponsive
  * Fix xserver memory leaking
  * Improve speed when typing and moving the pointer (LP: #1055448)
  * Fix rendering being slowed by emboss effect on keycaps (LP: #890221)
  * Fix for not being able to move/resize Onboard on touchscreens (LP: #959035)
  * Have Onboard respect launcher icon size (LP: #1078554)
  * Auto-show Onboard by clicking already selected text entries (LP: #1078602)
  * Make default shortcut for language/layout work from Onboard (LP: #1078629)
  * New design of the Preferences dialog with more options (LP: #1053496)
  * Disable click buttons when mousetweaks is not installed
  * Add D-Bus service to show and hide the keyboard (LP: 1032042)
  * Don't export dbus service for embedded instances
  * Set NumLock's default sticky behavior to LOCK_ONLY
  * Keep state of NumLock across restarts
  * New attribute in layout files for sticky key behaviour
  * New layout tags key_template and keysym_rule defining keysym-specific labels
  * New window tag for color schemes to define border of popups
  * New layout tag for language specific overrides in the layouts
  * Move common key definitions into template for import by layout files
  * Sync modifier states of Onboard with changes by hardware keyboard or tools
  * Fix keys not re-rendered when releasing latched modifiers (LP: #1069990)
  * Send key strokes for all modifiers (LP: #1067797)
  * Blacklist Ctrl-LAlt+Fn keys by default
  * Add alternative key generation by at-spi2
  * Try to improve struts handling for metacity and mutter
  * Fix getpreferredencoding hack, by Matthias Klose
  * Build for all python3 versions, by Matthias Klose
  * Add work arounds for some problems with the search box of firefox
  * Improve startup sequence to fix Onboard showing up sometime at position 0.0
  * Make scanning work out of the box on the nexus7
  * Small changes to some...

Read more...

Changed in onboard:
status: Fix Committed → Fix Released
To post a comment you must log in.
This report contains Public information  
Everyone can see this information.

Other bug subscribers

Remote bug watches

Bug watches keep track of this bug in other bug trackers.