summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--frontend_local.c14
-rw-r--r--xine_fbfe_frontend.c10
-rw-r--r--xine_frontend.h5
-rw-r--r--xine_frontend_main.c16
-rw-r--r--xine_sxfe_frontend.c10
5 files changed, 32 insertions, 23 deletions
diff --git a/frontend_local.c b/frontend_local.c
index 79bfec58..9d36acf5 100644
--- a/frontend_local.c
+++ b/frontend_local.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: frontend_local.c,v 1.36 2008-12-19 22:53:02 phintuka Exp $
+ * $Id: frontend_local.c,v 1.37 2009-02-21 11:55:37 phintuka Exp $
*
*/
@@ -345,12 +345,12 @@ void cXinelibLocal::Action(void)
} else {
LOGDBG("cXinelibLocal::Action - fe created");
if(!curr_fe->fe_display_open(curr_fe, xc.width, xc.height, xc.fullscreen, xc.hud_osd,
- xc.modeswitch, xc.modeline,
- xc.display_aspect, keypress_handler, 0,
- xc.video_port,
- xc.scale_video,
- xc.field_order,
- NULL, -1)) {
+ xc.modeswitch, xc.modeline, xc.display_aspect,
+ keypress_handler, 0/*no_x_kbd*/, 0/*gui_hotkeys*/,
+ xc.video_port,
+ xc.scale_video,
+ xc.field_order,
+ NULL, -1)) {
LOGMSG("cXinelibLocal: Error initializing display");
SetStopSignal();
} else {
diff --git a/xine_fbfe_frontend.c b/xine_fbfe_frontend.c
index beb4d885..811154d8 100644
--- a/xine_fbfe_frontend.c
+++ b/xine_fbfe_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_fbfe_frontend.c,v 1.43 2008-12-19 16:01:55 rofafor Exp $
+ * $Id: xine_fbfe_frontend.c,v 1.44 2009-02-21 11:55:37 phintuka Exp $
*
*/
@@ -117,10 +117,10 @@ static void update_DFBARGS(const char *fb_dev)
* fbfe_display_open
*/
static int fbfe_display_open(frontend_t *this_gen, int width, int height, int fullscreen, int hud,
- int modeswitch, const char *modeline, int aspect,
- fe_keypress_f keyfunc, int gui_hotkeys, const char *video_port,
- int scale_video, int field_order,
- const char *aspect_controller, int window_id)
+ int modeswitch, const char *modeline, int aspect,
+ fe_keypress_f keyfunc, int no_x_kbd, int gui_hotkeys,
+ const char *video_port, int scale_video, int field_order,
+ const char *aspect_controller, int window_id)
{
fbfe_t *this = (fbfe_t*)this_gen;
diff --git a/xine_frontend.h b/xine_frontend.h
index e124ac36..c6cbe5eb 100644
--- a/xine_frontend.h
+++ b/xine_frontend.h
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend.h,v 1.17 2008-12-19 16:01:55 rofafor Exp $
+ * $Id: xine_frontend.h,v 1.18 2009-02-21 11:55:37 phintuka Exp $
*
*/
@@ -63,7 +63,8 @@ struct frontend_s {
/* Display */
int (*fe_display_open)(frontend_t*, int winwidth, int winheight,
int fullscreen, int hud, int modeswitch, const char *modeline,
- int aspect, fe_keypress_f keypresshandler, int gui_hotkeys,
+ int aspect, fe_keypress_f keypresshandler,
+ int no_x_kbd, int gui_hotkeys,
const char *video_port,
int scale_video, int field_order,
const char *aspect_controller, int window_id);
diff --git a/xine_frontend_main.c b/xine_frontend_main.c
index d1221163..b45cb357 100644
--- a/xine_frontend_main.c
+++ b/xine_frontend_main.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_frontend_main.c,v 1.73 2009-02-04 12:00:34 phintuka Exp $
+ * $Id: xine_frontend_main.c,v 1.74 2009-02-21 11:55:37 phintuka Exp $
*
*/
@@ -400,7 +400,10 @@ static const char help_str[] =
" --verbose Verbose debug output\n"
" --silent Silent mode (report only errors)\n"
" --syslog Write all output to system log\n"
- " --nokbd Disable keyboard input\n"
+ " --nokbd Disable console keyboard input\n"
+#ifndef IS_FBFE
+ " --noxkbd Disable X11 keyboard input\n"
+#endif
" --hotkeys Enable frontend GUI hotkeys\n"
" --daemon Run as daemon (disable keyboard,\n"
" log to syslog and fork to background)\n"
@@ -413,7 +416,7 @@ static const char help_str[] =
" are tried in following order:\n"
" local pipe, rtp, udp, tcp\n\n";
-static const char short_options[] = "HA:V:d:W:a:fDw:h:nP:L:C:vslkobSRtur";
+static const char short_options[] = "HA:V:d:W:a:fDw:h:nP:L:C:vsxlkobSRtur";
static const struct option long_options[] = {
{ "help", no_argument, NULL, 'H' },
@@ -435,6 +438,7 @@ static const struct option long_options[] = {
{ "silent", no_argument, NULL, 's' },
{ "syslog", no_argument, NULL, 'l' },
{ "nokbd", no_argument, NULL, 'k' },
+ { "noxkbd", no_argument, NULL, 'x' },
{ "hotkeys", no_argument, NULL, 'o' },
{ "daemon", no_argument, NULL, 'b' },
{ "slave", no_argument, NULL, 'S' },
@@ -454,7 +458,7 @@ int main(int argc, char *argv[])
int ftcp = 0, fudp = 0, frtp = 0, reconnect = 0, firsttry = 1;
int fullscreen = 0, hud = 0, width = 720, height = 576;
int scale_video = 1, aspect = 1;
- int daemon_mode = 0, nokbd = 0, slave_mode = 0;
+ int daemon_mode = 0, nokbd = 0, noxkbd = 0, slave_mode = 0;
char *video_port = NULL;
int window_id = -1;
int xmajor, xminor, xsub;
@@ -512,6 +516,8 @@ int main(int argc, char *argv[])
break;
case 'd': video_port = strdup(optarg);
break;
+ case 'x': noxkbd = 1;
+ break;
#endif
case 'a': if (!strncmp(optarg, "auto", 4))
aspect = 0;
@@ -697,7 +703,7 @@ int main(int argc, char *argv[])
/* Initialize display */
if (!fe->fe_display_open(fe, width, height, fullscreen, hud, 0,
- "", aspect, NULL, gui_hotkeys,
+ "", aspect, NULL, noxkbd, gui_hotkeys,
video_port, scale_video, 0,
aspect_controller, window_id)) {
fprintf(stderr, "Error opening display\n");
diff --git a/xine_sxfe_frontend.c b/xine_sxfe_frontend.c
index dfad4993..f3625ec0 100644
--- a/xine_sxfe_frontend.c
+++ b/xine_sxfe_frontend.c
@@ -4,7 +4,7 @@
* See the main source file 'xineliboutput.c' for copyright information and
* how to reach the author.
*
- * $Id: xine_sxfe_frontend.c,v 1.109 2009-02-18 21:14:37 phintuka Exp $
+ * $Id: xine_sxfe_frontend.c,v 1.110 2009-02-21 11:55:37 phintuka Exp $
*
*/
@@ -145,6 +145,7 @@ typedef struct sxfe_s {
uint8_t dragging : 1;
uint8_t hud : 1;
uint8_t gui_hotkeys : 1;
+ uint8_t no_x_kbd : 1;
/* HUD stuff */
#ifdef HAVE_XRENDER
@@ -1099,8 +1100,8 @@ static void create_windows(sxfe_t *this)
*/
static int sxfe_display_open(frontend_t *this_gen, int width, int height, int fullscreen, int hud,
int modeswitch, const char *modeline, int aspect,
- fe_keypress_f keyfunc, int gui_hotkeys, const char *video_port,
- int scale_video, int field_order,
+ fe_keypress_f keyfunc, int no_x_kbd, int gui_hotkeys,
+ const char *video_port, int scale_video, int field_order,
const char *aspect_controller, int window_id)
{
sxfe_t *this = (sxfe_t*)this_gen;
@@ -1157,6 +1158,7 @@ static int sxfe_display_open(frontend_t *this_gen, int width, int height, int fu
this->xinerama_screen = -1;
this->gui_hotkeys = gui_hotkeys;
+ this->no_x_kbd = no_x_kbd ? 1 : 0;
/*
* init x11 stuff
@@ -1428,7 +1430,7 @@ static void XKeyEvent_handler(sxfe_t *this, XKeyEvent *kev)
}
if (fe_event)
this->x.fe.send_event((frontend_t*)this, fe_event);
- else
+ else if (!this->no_x_kbd)
this->x.fe.send_input_event((frontend_t*)this, "XKeySym", XKeysymToString(ks), 0, 0);
}
}