]> git.sesse.net Git - vlc/commitdiff
- hotkeys: leave full screenscreen hotkey (defaulted to ESC), patch by Sergey Volk
authorDamien Fouilleul <damienf@videolan.org>
Mon, 14 May 2007 13:52:33 +0000 (13:52 +0000)
committerDamien Fouilleul <damienf@videolan.org>
Mon, 14 May 2007 13:52:33 +0000 (13:52 +0000)
include/vlc_keys.h
modules/control/hotkeys.c
src/libvlc-module.c

index fdf715ace8f88ce7da87946c5491fe783febf22c..c2ae7377263d8e9b2825806ea0907398c0b085f7 100644 (file)
@@ -230,7 +230,7 @@ static inline int StringToKey( char *psz_key )
 #define ACTIONID_NEXT                  7
 #define ACTIONID_SLOWER                8
 #define ACTIONID_FASTER                9
-#define ACTIONID_FULLSCREEN            10
+#define ACTIONID_TOGGLE_FULLSCREEN     10
 #define ACTIONID_VOL_UP                11
 #define ACTIONID_VOL_DOWN              12
 #define ACTIONID_NAV_ACTIVATE          13
@@ -308,3 +308,4 @@ static inline int StringToKey( char *psz_key )
 #define ACTIONID_RANDOM                81
 #define ACTIONID_LOOP                  82
 #define ACTIONID_WALLPAPER             83
+#define ACTIONID_LEAVE_FULLSCREEN      84
index 1a765158081ad51b57561f9d659b5902d3a19771..b8cf815c37d9ce2cb52dbdb1f68c8d737d5d9be3 100644 (file)
@@ -283,7 +283,7 @@ static void Run( intf_thread_t *p_intf )
         {
             if( p_vout ) vout_Control( p_vout, VOUT_SNAPSHOT );
         }
-        else if( i_action == ACTIONID_FULLSCREEN )
+        else if( i_action == ACTIONID_TOGGLE_FULLSCREEN )
         {
             if( p_vout )
             {
@@ -298,6 +298,13 @@ static void Run( intf_thread_t *p_intf )
                 var_Set( p_playlist, "fullscreen", val );
             }
         }
+        else if( i_action == ACTIONID_LEAVE_FULLSCREEN )
+        {
+            if( p_vout && var_GetBool( p_vout, "fullscreen" ) )
+            {
+                var_SetBool( p_vout, "fullscreen", VLC_FALSE );
+            }
+        }
         else if( i_action == ACTIONID_WALLPAPER )
         {
             if( p_vout )
index ed92cfccdf0ab6e185308abdd288fcb36cde2786..4dca2408241f2195a19ed3a7ce7350e0d994ea1c 100644 (file)
@@ -1021,8 +1021,10 @@ static const char *ppsz_pltree_descriptions[] = { N_("Default"), N_("Always"), N
 #define HOTKEY_CAT_LONGTEXT N_( "These settings are the global VLC key " \
     "bindings, known as \"hotkeys\"." )
 
-#define FULLSCREEN_KEY_TEXT N_("Fullscreen")
-#define FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.")
+#define TOGGLE_FULLSCREEN_KEY_TEXT N_("Fullscreen")
+#define TOGGLE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to swap fullscreen state.")
+#define LEAVE_FULLSCREEN_KEY_TEXT N_("Leave fullscreen")
+#define LEAVE_FULLSCREEN_KEY_LONGTEXT N_("Select the hotkey to use to leave fullscreen state.")
 #define PLAY_PAUSE_KEY_TEXT N_("Play/Pause")
 #define PLAY_PAUSE_KEY_LONGTEXT N_("Select the hotkey to use to swap paused state.")
 #define PAUSE_KEY_TEXT N_("Pause only")
@@ -1807,7 +1809,8 @@ vlc_module_begin();
  *  show info                     KEY_MODIFIER_COMMAND|'i'
  *  help                          KEY_MODIFIER_COMMAND|'?'
  */
-#   define KEY_FULLSCREEN         KEY_MODIFIER_COMMAND|'f'
+#   define KEY_TOGGLE_FULLSCREEN  KEY_MODIFIER_COMMAND|'f'
+#   define KEY_LEAVE_FULLSCREEN   KEY_ESC
 #   define KEY_PLAY_PAUSE         KEY_MODIFIER_COMMAND|'p'
 #   define KEY_PAUSE              KEY_UNSET
 #   define KEY_PLAY               KEY_UNSET
@@ -1892,7 +1895,8 @@ vlc_module_begin();
 #   define KEY_WALLPAPER          KEY_MODIFIER_COMMAND|'w'
 
 #else
-#   define KEY_FULLSCREEN         'f'
+#   define KEY_TOGGLE_FULLSCREEN  'f'
+#   define KEY_LEAVE_FULLSCREEN   KEY_ESC
 #   define KEY_PLAY_PAUSE         KEY_SPACE
 #   define KEY_PAUSE              KEY_UNSET
 #   define KEY_PLAY               KEY_UNSET
@@ -1978,8 +1982,10 @@ vlc_module_begin();
 #   define KEY_WALLPAPER          'w'
 #endif
 
-    add_key( "key-fullscreen", KEY_FULLSCREEN, NULL, FULLSCREEN_KEY_TEXT,
-             FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-toggle-fullscreen", KEY_TOGGLE_FULLSCREEN, NULL, TOGGLE_FULLSCREEN_KEY_TEXT,
+             TOGGLE_FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
+    add_key( "key-leave-fullscreen", KEY_LEAVE_FULLSCREEN, NULL, LEAVE_FULLSCREEN_KEY_TEXT,
+             LEAVE_FULLSCREEN_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-play-pause", KEY_PLAY_PAUSE, NULL, PLAY_PAUSE_KEY_TEXT,
              PLAY_PAUSE_KEY_LONGTEXT, VLC_FALSE );
     add_key( "key-pause", KEY_PAUSE, NULL, PAUSE_KEY_TEXT,
@@ -2285,7 +2291,8 @@ const struct hotkey libvlc_hotkeys[] =
     { "key-next", ACTIONID_NEXT, 0, 0, 0, 0 },
     { "key-faster", ACTIONID_FASTER, 0, 0, 0, 0 },
     { "key-slower", ACTIONID_SLOWER, 0, 0, 0, 0 },
-    { "key-fullscreen", ACTIONID_FULLSCREEN, 0, 0, 0, 0 },
+    { "key-toggle-fullscreen", ACTIONID_TOGGLE_FULLSCREEN, 0, 0, 0, 0 },
+    { "key-leave-fullscreen", ACTIONID_LEAVE_FULLSCREEN, 0, 0, 0, 0 },
     { "key-vol-up", ACTIONID_VOL_UP, 0, 0, 0, 0 },
     { "key-vol-down", ACTIONID_VOL_DOWN, 0, 0, 0, 0 },
     { "key-vol-mute", ACTIONID_VOL_MUTE, 0, 0, 0, 0 },