VirtualBox

Changeset 38836 in vbox


Ignore:
Timestamp:
Sep 23, 2011 11:18:17 AM (13 years ago)
Author:
vboxsync
Message:

rdesktop: Quick virtual desktop usability hack, disabled by default.

Location:
trunk/src/VBox/RDP/client
Files:
3 edited

Legend:

Unmodified
Added
Removed
  • trunk/src/VBox/RDP/client/Makefile.kmk

    r38517 r38836  
    4444        KEYMAP_PATH=$(if $(findstring RTPATH_APP_PRIVATE,$(DEFS)),RTPATH_APP_PRIVATE,\"/opt/VirtualBox\")\"/rdesktop-vrdp-keymaps\" \
    4545        RDESKTOP=1
     46ifdef WITH_BIRD_VD_HACKS
     47 rdesktop-vrdp_DEFS += WITH_BIRD_VD_HACKS
     48endif
    4649
    4750rdesktop-vrdp_DEFS.linux = \
  • trunk/src/VBox/RDP/client/rdesktop.c

    r37224 r38836  
    139139#endif
    140140
     141#ifdef WITH_BIRD_VD_HACKS
     142RD_BOOL g_keep_virtual_desktop_shortcuts = False;
     143#endif
     144
    141145#ifdef HAVE_ICONV
    142146char g_codepage[16] = "";
     
    251255        fprintf(stderr, "   -4: use RDP version 4\n");
    252256        fprintf(stderr, "   -5: use RDP version 5 (default)\n");
     257#ifdef WITH_BIRD_VD_HACKS
     258        fprintf(stderr, "   -H keep-virtual-desktop-shortcuts: Keep keyboard shortcuts typical\n"
     259                        "      for switching virtual desktops (C-A-Left/Right). \n");
     260#endif
    253261}
    254262
     
    538546#define VNCOPT
    539547#endif
     548#ifdef WITH_BIRD_VD_HACKS
     549#define VDHOPT "H:"
     550#else
     551#define VDHOPT
     552#endif
    540553
    541554        while ((c = getopt(argc, argv,
    542                            VNCOPT "Au:L:d:s:c:p:n:k:g:fbBeEmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
     555                           VNCOPT VDHOPT "Au:L:d:s:c:p:n:k:g:fbBeEmzCDKS:T:NX:a:x:Pr:045h?")) != -1)
    543556        {
    544557                switch (c)
     
    883896                                g_use_rdp5 = True;
    884897                                break;
     898
     899#ifdef WITH_BIRD_VD_HACKS
     900                        case 'H': /* hacks */
     901                                if (!strcmp(optarg, "keep-virtual-desktop-shortcuts"))
     902                                        g_keep_virtual_desktop_shortcuts = True;
     903                                else
     904                                        error("Unknown -H argument\n\n\tPossible argument is: keep-virtual-desktop-shortcuts\n");
     905                                break;
     906#endif
    885907
    886908                        case 'h':
  • trunk/src/VBox/RDP/client/xkeymap.c

    r37224 r38836  
    665665                                ui_seamless_toggle();
    666666                        break;
    667 
     667#ifdef WITH_BIRD_VD_HACKS
     668                case XK_Left:
     669                case XK_Right:
     670                {
     671                        /* Check for typical virtual desktop switching hotkeys:
     672                               Ctrl-Alt-Left and Ctrl-Alt-Right.
     673                           Needs to be pressed twice to have any effect... */
     674                        extern RD_BOOL g_keep_virtual_desktop_shortcuts;
     675                        extern RD_BOOL g_fullscreen;
     676                        if (   g_keep_virtual_desktop_shortcuts
     677                            && (   (   get_key_state(state, XK_Alt_L)
     678                                    || get_key_state(state, XK_Alt_R))
     679                                && (   get_key_state(state, XK_Control_L)
     680                                    || get_key_state(state, XK_Control_R))
     681                               )
     682                           )
     683                        {
     684                                if (g_fullscreen)
     685                                        xwin_toggle_fullscreen();
     686                                XUngrabKeyboard(g_display, CurrentTime);
     687                                return True;
     688                        }
     689                        break;
     690                }
     691#endif
    668692        }
    669693        return False;
Note: See TracChangeset for help on using the changeset viewer.

© 2024 Oracle Support Privacy / Do Not Sell My Info Terms of Use Trademark Policy Automated Access Etiquette