Sign Up
Log In
Log In
or
Sign Up
Places
All Projects
Status Monitor
Collapse sidebar
home:dprajasekhar
novell-zenworks-tightvnc
tightvnc-1.2.9_unixsrc_avenger.patch
Overview
Repositories
Revisions
Requests
Users
Attributes
Meta
File tightvnc-1.2.9_unixsrc_avenger.patch of Package novell-zenworks-tightvnc
diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' vnc_unixsrc.orig/Xvnc/programs/Xserver/hw/vnc/init.c vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/init.c --- vnc_unixsrc.orig/Xvnc/programs/Xserver/hw/vnc/init.c 2002-10-27 07:36:02.000000000 -0500 +++ vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/init.c 2006-02-07 10:51:44.722657000 -0500 @@ -79,6 +79,7 @@ #include <sys/param.h> #include "dix.h" #include "rfb.h" +#include <X11/keysym.h> #ifdef CORBA #include <vncserverctrl.h> @@ -141,6 +142,11 @@ * very start for each argument. It is not called again on server reset. */ +/* Key to be used as tab with alt to generate alt+tab */ +KeySym KeyUsedAsTab; + + + int ddxProcessArgument (argc, argv, i) int argc; @@ -148,6 +154,8 @@ int i; { static Bool firstTime = TRUE; + char keyvalue = 'z'; + char* optionkey=""; if (firstTime) { @@ -308,6 +316,22 @@ return 1; } + /* key specified as value to altab option used as Tab with alt key */ + if(strcmp(argv[i], "-alttab")==0) { + if (i + 1 >= argc) UseMsg(); + KeyUsedAsTab=(KeySym)keyvalue; + optionkey = argv[i+1]; + if((strlen(optionkey))==1) { + if(!isalpha(optionkey[0])) + optionkey=&keyvalue; + keyvalue = optionkey[0]; + KeyUsedAsTab=(KeySym)keyvalue; + } + return 2; + } + + + if (strcmp(argv[i], "-interface") == 0) { /* -interface ipaddr */ struct in_addr got; unsigned long octet; diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' vnc_unixsrc.orig/Xvnc/programs/Xserver/hw/vnc/kbdptr.c vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/kbdptr.c --- vnc_unixsrc.orig/Xvnc/programs/Xserver/hw/vnc/kbdptr.c 2001-01-16 15:20:28.000000000 -0500 +++ vnc_unixsrc/Xvnc/programs/Xserver/hw/vnc/kbdptr.c 2006-02-07 10:51:18.313671000 -0500 @@ -169,6 +169,8 @@ }; + + #define N_PREDEFINED_KEYS (sizeof(kbdMap) / (sizeof(KeySym) * GLYPHS_PER_KEY)) @@ -286,6 +288,12 @@ Bool fakeShiftRRelease = FALSE; Bool shiftMustBeReleased = FALSE; Bool shiftMustBePressed = FALSE; + +/* Variables added to provide Alt+Tab functionality */ + KeySym Tab_Key = XK_Tab; + extern KeySym KeyUsedAsTab; + static int Alt_Key_State=0; + #ifdef CORBA if (cl) { @@ -301,6 +309,22 @@ ev.u.u.type = KeyRelease; } +/* Added Code to generate Tab key whenever key set as*/ +/* default tab key is pressed along with alt to simulate Alt+Tab*/ +/* functionality*/ + + if( keySym == KeyUsedAsTab){ + if(Alt_Key_State==1) { + keySym = Tab_Key; + } + } + + if( (keySym == XK_Alt_L)||(keySym == XK_Alt_R)) { + Alt_Key_State = down; + } + +/* Code end */ + /* First check if it's one of our predefined keys. If so then we can make some attempt at allowing an xmodmap inside a VNC desktop behave something like you'd expect - e.g. if keys A & B are swapped over and diff -Nru -x '*~' -x '*.o' -x '*.orig' -x '*.rej' vnc_unixsrc.orig/Xvnc/programs/Xserver/os/utils.c vnc_unixsrc/Xvnc/programs/Xserver/os/utils.c --- vnc_unixsrc.orig/Xvnc/programs/Xserver/os/utils.c 2002-09-06 07:16:30.000000000 -0400 +++ vnc_unixsrc/Xvnc/programs/Xserver/os/utils.c 2006-02-07 10:54:14.999811000 -0500 @@ -514,12 +514,16 @@ void UseMsg() { + #if !defined(AIXrt) && !defined(AIX386) #ifndef AMOEBA ErrorF("use: X [:<display>] [option]\n"); #else ErrorF("use: X [[<host>]:<display>] [option]\n"); #endif + ErrorF("-alttab character Use character specified along with Alt to generate Alt+Tab effect. \n"); + ErrorF(" character specified should be alphabet.On specifying invalid character,\n"); + ErrorF(" 'z' will be used with Alt key to generate Alt+Tab effect\n"); ErrorF("-a # mouse acceleration (pixels)\n"); ErrorF("-ac disable access control restrictions\n"); #ifdef MEMBUG @@ -596,6 +600,7 @@ XkbUseMsg(); #endif ddxUseMsg(); + } /*
Locations
Projects
Search
Status Monitor
Help
OpenBuildService.org
Documentation
API Documentation
Code of Conduct
Contact
Support
@OBShq
Terms
openSUSE Build Service is sponsored by
The Open Build Service is an
openSUSE project
.
Sign Up
Log In
Places
Places
All Projects
Status Monitor