Bug 780328

Summary: Tvtime generates synthetic X keypresses (left shift) every 30 seconds
Product: [openSUSE] openSUSE 13.1 Reporter: Forgotten User QIOIUJJHmn <forgotten_QIOIUJJHmn>
Component: X11 ApplicationsAssignee: E-mail List <xorg-maintainer-bugs>
Status: RESOLVED UPSTREAM QA Contact: E-mail List <qa-bugs>
Severity: Major    
Priority: P3 - Medium CC: eich
Version: Final   
Target Milestone: ---   
Hardware: x86-64   
OS: openSUSE 13.1   
Whiteboard:
Found By: --- Services Priority:
Business Priority: Blocker: ---
Marketing QA Status: --- IT Deployment: ---

Description Forgotten User QIOIUJJHmn 2012-09-13 20:30:32 UTC
User-Agent:       Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20100101 Firefox/15.0

Tvtime contains bogus code to keep the screensaver from activating.

It uses the X test extension to generate left shift keyevents every 30 seconds.

Needless to say, besides being a really nasty abuse of the X test extension, this upsets quite a few things. To wit:

- Capslock doesn't work reliably,
- Holding down the shift key doesn't work reliably
- Every now and then a key meant to be lowercase will come out uppercase
- Windows running in a VM will go crazy (pressing shift 5 times makes it ask about activating some assistive tech)
- HPUserEdit5 running in Wine goes crazy (it uses it's own shift key handling)
- etc. pp.

Reproducible: Always

Steps to Reproduce:
1. Start tvtime (windowed mode)
2. Start xev
3. Watch the bogus left shift events coming in
Actual Results:  
KeyPress event, serial 37, synthetic NO, window 0x4600001,
    root 0x29d, subw 0x0, time 42573602, (165,-12), root:(1265,38),
    state 0x0, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XmbLookupString gives 0 bytes: 
    XFilterEvent returns: False

KeyRelease event, serial 37, synthetic NO, window 0x4600001,
    root 0x29d, subw 0x0, time 42573603, (165,-12), root:(1265,38),
    state 0x1, keycode 50 (keysym 0xffe1, Shift_L), same_screen YES,
    XLookupString gives 0 bytes: 
    XFilterEvent returns: False

Without me pressing any key

Expected Results:  
Well, the events shouldn't be there... ;-)

The problem are lines 1115-1120 in src/xcommon.c.

I consider this bug quite serious because it interferes with the users input.
Comment 1 Stefan Dirsch 2015-01-07 14:37:52 UTC
Product is no longer supported. In case the issue is still reproducable on a maintainerd product (at that momement: openSUSE 13.1 or later), feel free to reopen.
Comment 2 Forgotten User QIOIUJJHmn 2015-01-07 20:07:39 UTC
The issue is reproducible with OpenSUSE 13.1, tvtime package version 1.0.2-260.1.3.x86_64.
Comment 3 Egbert Eich 2015-11-09 06:43:10 UTC
I agree, the behaviour is broken. There should be a 'freedesktop'-way of setting presentation mode (although I don't know off hand how).
Still, this would have to be fixed in the project itself. Unfortunately, there is not even a bug owner for this component on openSUSE who could help you get this going, so I'm afraid you will have to talk to the project itself.

Please take this up with the http://tvtime.sourceforge.net/.