diff options
-rw-r--r-- | frontend_local.c | 14 | ||||
-rw-r--r-- | xine_fbfe_frontend.c | 10 | ||||
-rw-r--r-- | xine_frontend.h | 5 | ||||
-rw-r--r-- | xine_frontend_main.c | 16 | ||||
-rw-r--r-- | xine_sxfe_frontend.c | 10 |
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); } } |