Bug 257462 - keys in kmplayer are not recognized (by mplayer)
Summary: keys in kmplayer are not recognized (by mplayer)
Status: RESOLVED UNMAINTAINED
Alias: None
Product: kmplayer
Classification: Unmaintained
Component: general (other bugs)
Version First Reported In: unspecified
Platform: Ubuntu Linux
: NOR normal
Target Milestone: ---
Assignee: Koos Vriezen
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2010-11-21 01:06 UTC by Ami Setton
Modified: 2025-06-09 21:05 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed/Implemented In:
Sentry Crash Report:


Attachments

Note You need to log in before you can comment on or make changes to this bug.
Description Ami Setton 2010-11-21 01:06:16 UTC
Version:           unspecified (using KDE 4.5.1) 
OS:                Linux

(Using Kubuntu Maverick)

Keys that KMPlayer used to recognize, such as the arrow keys, the "o" for OSD, etc. - no longer work in KMPlayer.  They work when I use MPlayer directly, but not within KMPlayer.
(I notice that "F" for fullscreen works, but that seems to be a KMPlayer-built-in menu option, versus a pass-through key to MPlayer.)

(was asked to submit a bug here by koos vriezen)

Reproducible: Always

Steps to Reproduce:
Just use the kmplayer that ships with Kubuntu/Maverick.
mplayer alone works just fine.

Actual Results:  
arrow keys and other are not handled or recognized.

Expected Results:  
arrow keys and others should be handled as they would be by mplayer.

N/A
Comment 1 Koos Vriezen 2010-11-21 11:43:24 UTC
MPlayer changed the keyboard capturing in r31601 and a few follow up corrections commits.
Here a q&d patch for kmplayer to overcome this (using the expose mask)

--- a/src/viewarea.cpp
+++ b/src/viewarea.cpp
@@ -2240,6 +2240,8 @@ bool ViewArea::x11Event (XEvent *xe) {
        }
        case XKeyPress: {
            const VideoWidgetList::iterator e = video_widgets.end ();
+            if (xe->xkey.send_event)
+                break;
            for (VideoWidgetList::iterator i=video_widgets.begin(); i
!= e; ++i)
                if ((*i)->clientHandle () == xe->xkey.window &&
                        static_cast <VideoOutput *>(*i)->inputMask()
& KeyPressMask) {
@@ -2251,6 +2253,11 @@ bool ViewArea::x11Event (XEvent *xe) {
                        case XK_F:
                            m_view->fullScreen ();
                            break;
+                        case XK_q:
+                        case XK_Q:
+                            break;
+                        default:
+                            XSendEvent (xe->xkey.display,
xe->xkey.window, false, ExposureMask, xe);
                    }
                }
            break;
Comment 2 Christoph Cullmann 2025-06-09 21:05:01 UTC
This project is unfortunately no longer maintained.

If a new maintainer wants to step up and take care, the project is archived here:

https://invent.kde.org/multimedia/kmplayer

You can just clone it in your private namespace on invent.kde.org and if you have started to work on it and fixed/implemented something get it reviewed and the project unarchived.

Sorry for the inconveniences.