Bug 1023447

Summary: Keyboard shortcuts not working properly when started using SpiceX
Product: Red Hat Enterprise Virtualization Manager Reporter: Tomas Jamrisko <tjamrisk>
Component: mingw-virt-viewerAssignee: Marc-Andre Lureau <marcandre.lureau>
Status: CLOSED ERRATA QA Contact: Desktop QE <desktop-qa-list>
Severity: high Docs Contact:
Priority: unspecified    
Version: unspecifiedCC: acathrow, cfergeau, cpelland, dblechte, fkobzik, mkrcmari, pvine, tjamrisk, yeylon
Target Milestone: ---   
Target Release: 3.3.0   
Hardware: Unspecified   
OS: Unspecified   
Whiteboard:
Fixed In Version: mingw-virt-viewer-0.5.6-18.el6_5 Doc Type: Enhancement
Doc Text:
Previously, keyboard shortcuts were not working properly on virtual machines using SpiceX. This update adds a missing "secure-attention" hotkey configuration in the setup file, and removes the difference between hotkey configuration behavior set with the controller or with the setup file.
Story Points: ---
Clone Of: Environment:
Last Closed: 2014-01-21 14:47:32 UTC Type: Bug
Regression: --- Mount Type: ---
Documentation: --- CRM:
Verified Versions: Category: ---
oVirt Team: --- RHEL 7.3 requirements from Atomic Host:
Cloudforms Team: --- Target Upstream Version:
Embargoed:
Bug Depends On:    
Bug Blocks: 1029441, 1042782    
Attachments:
Description Flags
rfc patch none

Description Tomas Jamrisko 2013-10-25 12:54:29 UTC
Description of problem:
Keyboard shortcuts, that should be intercepted by the client, don't work when started using SpiceX on Windows clients. And they are not added to the menu either

Version-Release number of selected component (if applicable):
mingw-virt-viewer-0.5.6-8

How reproducible:
Always

Steps to Reproduce:
1. Connect to a VM using SpiceX plugin from browser

Actual results:
The Send Key menu item has no shortcuts for certain combinations, also those combinations aren't added to the end of the list

Expected results:
it should behave the same as when started using a file

Comment 1 Marc-Andre Lureau 2013-10-26 14:40:04 UTC
Please get the G_MESSAGES_DEBUG=GSpiceController log.

Could you try with SpiceX test page?

thanks

Comment 9 Marc-Andre Lureau 2013-10-29 20:19:41 UTC
there is a difference between using hotkeys with controller and vv file,

With the controller, only the hotkeys being set will be enabled, while the other will remain disable (done in app_set_hotkeys). While the vv file will enable all accels and modify the binding (hotkey_set_binding) 

- currently, to enable c-a-end with controller, you'll need a secure-attention hotkey set 
- if think we should keep controller behaviour and disable hotkeys that aren't sepcified
 
We could move the code to disable all hotkeys in a seperate function and call it when loading the vv file, see attached patch

Comment 10 Marc-Andre Lureau 2013-10-29 20:21:41 UTC
Created attachment 817176 [details]
rfc patch

Comment 11 Tomas Jamrisko 2013-10-30 09:04:42 UTC
(In reply to Marc-Andre Lureau from comment #9) 
> - currently, to enable c-a-end with controller, you'll need a
> secure-attention hotkey set 
> - if think we should keep controller behaviour and disable hotkeys that
> aren't sepcified

I don't think that's entirely a smart idea. It looks like customers pretty much demand to have an option to send Ctrl-alt-del using keyboard (#1004440). I'd say it'd be better to add an exception for this keyboard shortcut for windows client and set it every time.

Comment 17 Marc-Andre Lureau 2013-11-07 13:34:29 UTC
I propose we have the same behaviour between command line, controller and file settings: only enable global bindings if they are explicitely set on command line.

I believe the default setup should keep the strict minimal global bindings (ungrab when mouse is grabbed). The send key menu is enough to circunvent OS/window manager keybinding filtering. That way full regular hw key input control is given to the guest.

moving to POST with the proposed patch

Comment 18 Marc-Andre Lureau 2013-11-07 13:35:45 UTC
(In reply to Marc-Andre Lureau from comment #17)
> I propose we have the same behaviour between command line, controller and
> file settings: only enable global bindings if they are explicitely set on
> command line.

grr, I should reread myself 10x.. "only enable global bindings if they are explicitely set", by controller, cmd line, or config file.

> 
> I believe the default setup should keep the strict minimal global bindings
> (ungrab when mouse is grabbed). The send key menu is enough to circunvent
> OS/window manager keybinding filtering. That way full regular hw key input
> control is given to the guest.
> 
> moving to POST with the proposed patch

Comment 19 Marc-Andre Lureau 2013-11-07 17:44:48 UTC
Patch series
https://www.redhat.com/archives/virt-tools-list/2013-November/msg00016.html

Comment 23 David Blechter 2013-12-08 21:11:32 UTC
pushing to 3.4 as no blocker flag proposed and we are at RC phase. if
the bug should be fixed for 3.3.0, please request a blocker flag on it.

Comment 25 Marc-Andre Lureau 2013-12-19 16:29:09 UTC
patches added to mingw-virt-viewer-0.5.6-16.el6_5

Comment 31 errata-xmlrpc 2014-01-21 14:47:32 UTC
Since the problem described in this bug report should be
resolved in a recent advisory, it has been closed with a
resolution of ERRATA.

For information on the advisory, and where to find the updated
files, follow the link below.

If the solution does not work for you, open a new bug report.

http://rhn.redhat.com/errata/RHBA-2014-0034.html