rdp2vnc fixes from Johannes Schindelin <Johannes.Schindelin@gmx.de>
git-svn-id: svn://svn.code.sf.net/p/rdesktop/code/trunk/rdesktop@647 423420c4-83ab-492f-b58f-81f9feb106b5
This commit is contained in:
parent
5441fc026a
commit
95d2f76a30
@ -68,9 +68,9 @@ BOOL g_hide_decorations = False;
|
|||||||
BOOL g_use_rdp5 = True;
|
BOOL g_use_rdp5 = True;
|
||||||
BOOL g_console_session = False;
|
BOOL g_console_session = False;
|
||||||
BOOL g_numlock_sync = False;
|
BOOL g_numlock_sync = False;
|
||||||
extern BOOL g_owncolmap;
|
BOOL g_owncolmap = False;
|
||||||
extern BOOL g_ownbackstore;
|
BOOL g_ownbackstore = True; /* We can't rely on external BackingStore */
|
||||||
extern uint32 g_embed_wnd;
|
uint32 g_embed_wnd;
|
||||||
uint32 g_rdp5_performanceflags = RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS;
|
uint32 g_rdp5_performanceflags = RDP5_NO_WALLPAPER | RDP5_NO_FULLWINDOWDRAG | RDP5_NO_MENUANIMATIONS;
|
||||||
|
|
||||||
#ifdef WITH_RDPSND
|
#ifdef WITH_RDPSND
|
||||||
|
29
vnc/vnc.c
29
vnc/vnc.c
@ -59,8 +59,8 @@ extern int rfbClientSocket;
|
|||||||
#define BITSPERBYTES 8
|
#define BITSPERBYTES 8
|
||||||
#define TOBYTES(bits) ((bits)/BITSPERBYTES)
|
#define TOBYTES(bits) ((bits)/BITSPERBYTES)
|
||||||
|
|
||||||
extern int width;
|
extern int g_width;
|
||||||
extern int height;
|
extern int g_height;
|
||||||
extern int keylayout;
|
extern int keylayout;
|
||||||
extern BOOL sendmotion;
|
extern BOOL sendmotion;
|
||||||
#ifdef ENABLE_SHADOW
|
#ifdef ENABLE_SHADOW
|
||||||
@ -74,6 +74,8 @@ int rfbClientSocket = 0;
|
|||||||
static rfbScreenInfoPtr server = NULL;
|
static rfbScreenInfoPtr server = NULL;
|
||||||
static vncBuffer *frameBuffer = NULL;
|
static vncBuffer *frameBuffer = NULL;
|
||||||
static uint8_t reverseByte[0x100];
|
static uint8_t reverseByte[0x100];
|
||||||
|
BOOL g_enable_compose = False;
|
||||||
|
int g_display=0;
|
||||||
|
|
||||||
/* ignored */
|
/* ignored */
|
||||||
BOOL owncolmap = False;
|
BOOL owncolmap = False;
|
||||||
@ -149,7 +151,7 @@ get_key_state(unsigned int state, uint32 keysym)
|
|||||||
}
|
}
|
||||||
|
|
||||||
void
|
void
|
||||||
vncKey(Bool down, KeySym keysym, struct _rfbClientRec *cl)
|
vncKey(rfbBool down, rfbKeySym keysym, struct _rfbClientRec *cl)
|
||||||
{
|
{
|
||||||
uint32 ev_time = time(NULL);
|
uint32 ev_time = time(NULL);
|
||||||
key_translation tr = { 0, 0 };
|
key_translation tr = { 0, 0 };
|
||||||
@ -272,7 +274,7 @@ rdp2vnc_connect(char *server, uint32 flags, char *domain, char *password,
|
|||||||
|
|
||||||
|
|
||||||
|
|
||||||
extern char title[];
|
extern char g_title[];
|
||||||
BOOL
|
BOOL
|
||||||
ui_create_window()
|
ui_create_window()
|
||||||
{
|
{
|
||||||
@ -284,9 +286,9 @@ ui_create_window()
|
|||||||
(((i >> 4) & 1) << 3) | (((i >> 3) & 1) << 4) | (((i >> 2) & 1) << 5) |
|
(((i >> 4) & 1) << 3) | (((i >> 3) & 1) << 4) | (((i >> 2) & 1) << 5) |
|
||||||
(((i >> 1) & 1) << 6) | (((i >> 0) & 1) << 7);
|
(((i >> 1) & 1) << 6) | (((i >> 0) & 1) << 7);
|
||||||
|
|
||||||
server = rfbGetScreen(0, NULL, width, height, 8, 1, 1);
|
server = rfbGetScreen(0, NULL, g_width, g_height, 8, 1, 1);
|
||||||
server->desktopName = title;
|
server->desktopName = g_title;
|
||||||
server->frameBuffer = (char *) malloc(width * height);
|
server->frameBuffer = (char *) malloc(g_width * g_height);
|
||||||
server->ptrAddEvent = vncMouse;
|
server->ptrAddEvent = vncMouse;
|
||||||
server->kbdAddEvent = vncKey;
|
server->kbdAddEvent = vncKey;
|
||||||
#ifdef ENABLE_SHADOW
|
#ifdef ENABLE_SHADOW
|
||||||
@ -305,14 +307,14 @@ ui_create_window()
|
|||||||
server->rfbDeferUpdateTime = defer_time;
|
server->rfbDeferUpdateTime = defer_time;
|
||||||
|
|
||||||
frameBuffer = (vncBuffer *) malloc(sizeof(vncBuffer));
|
frameBuffer = (vncBuffer *) malloc(sizeof(vncBuffer));
|
||||||
frameBuffer->w = width;
|
frameBuffer->w = g_width;
|
||||||
frameBuffer->h = height;
|
frameBuffer->h = g_height;
|
||||||
frameBuffer->linew = width;
|
frameBuffer->linew = g_width;
|
||||||
frameBuffer->data = server->frameBuffer;
|
frameBuffer->data = server->frameBuffer;
|
||||||
frameBuffer->owner = FALSE;
|
frameBuffer->owner = FALSE;
|
||||||
frameBuffer->format = &server->rfbServerFormat;
|
frameBuffer->format = &server->rfbServerFormat;
|
||||||
|
|
||||||
ui_set_clip(0, 0, width, height);
|
ui_set_clip(0, 0, g_width, g_height);
|
||||||
|
|
||||||
rfbInitServer(server);
|
rfbInitServer(server);
|
||||||
#ifndef ENABLE_SHADOW
|
#ifndef ENABLE_SHADOW
|
||||||
@ -484,6 +486,11 @@ ui_destroy_cursor(HCURSOR cursor)
|
|||||||
rfbFreeCursor((rfbCursorPtr) cursor);
|
rfbFreeCursor((rfbCursorPtr) cursor);
|
||||||
}
|
}
|
||||||
|
|
||||||
|
void ui_set_null_cursor(void)
|
||||||
|
{
|
||||||
|
rfbSetCursor(server, 0, FALSE);
|
||||||
|
}
|
||||||
|
|
||||||
HGLYPH
|
HGLYPH
|
||||||
ui_create_glyph(int width, int height, uint8 * data)
|
ui_create_glyph(int width, int height, uint8 * data)
|
||||||
{
|
{
|
||||||
|
@ -23,6 +23,8 @@
|
|||||||
#define Button5 5
|
#define Button5 5
|
||||||
|
|
||||||
typedef int Display;
|
typedef int Display;
|
||||||
|
typedef int Window;
|
||||||
|
typedef rfbKeySym KeySym;
|
||||||
|
|
||||||
KeySym XStringToKeysym(const char *str);
|
KeySym XStringToKeysym(const char *str);
|
||||||
const char *XKeysymToString(KeySym keysym);
|
const char *XKeysymToString(KeySym keysym);
|
||||||
|
@ -602,12 +602,16 @@ ensure_remote_modifiers(uint32 ev_time, key_translation tr)
|
|||||||
unsigned int
|
unsigned int
|
||||||
read_keyboard_state()
|
read_keyboard_state()
|
||||||
{
|
{
|
||||||
|
#ifdef RDP2VNC
|
||||||
|
return 0;
|
||||||
|
#else
|
||||||
unsigned int state;
|
unsigned int state;
|
||||||
Window wdummy;
|
Window wdummy;
|
||||||
int dummy;
|
int dummy;
|
||||||
|
|
||||||
XQueryPointer(g_display, g_wnd, &wdummy, &wdummy, &dummy, &dummy, &dummy, &dummy, &state);
|
XQueryPointer(g_display, g_wnd, &wdummy, &wdummy, &dummy, &dummy, &dummy, &dummy, &state);
|
||||||
return state;
|
return state;
|
||||||
|
#endif
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
6
xwin.c
6
xwin.c
@ -43,7 +43,7 @@ Time g_last_gesturetime;
|
|||||||
static int g_x_socket;
|
static int g_x_socket;
|
||||||
static Screen *g_screen;
|
static Screen *g_screen;
|
||||||
Window g_wnd;
|
Window g_wnd;
|
||||||
uint32 g_embed_wnd;
|
extern uint32 g_embed_wnd;
|
||||||
BOOL g_enable_compose = False;
|
BOOL g_enable_compose = False;
|
||||||
static GC g_gc = NULL;
|
static GC g_gc = NULL;
|
||||||
static Visual *g_visual;
|
static Visual *g_visual;
|
||||||
@ -66,7 +66,7 @@ static int g_red_shift_r, g_blue_shift_r, g_green_shift_r;
|
|||||||
static int g_red_shift_l, g_blue_shift_l, g_green_shift_l;
|
static int g_red_shift_l, g_blue_shift_l, g_green_shift_l;
|
||||||
|
|
||||||
/* software backing store */
|
/* software backing store */
|
||||||
BOOL g_ownbackstore = True; /* We can't rely on external BackingStore */
|
extern BOOL g_ownbackstore;
|
||||||
static Pixmap g_backstore = 0;
|
static Pixmap g_backstore = 0;
|
||||||
|
|
||||||
/* Moving in single app mode */
|
/* Moving in single app mode */
|
||||||
@ -115,7 +115,7 @@ PixelColour;
|
|||||||
}
|
}
|
||||||
|
|
||||||
/* colour maps */
|
/* colour maps */
|
||||||
BOOL g_owncolmap = False;
|
extern BOOL g_owncolmap;
|
||||||
static Colormap g_xcolmap;
|
static Colormap g_xcolmap;
|
||||||
static uint32 *g_colmap = NULL;
|
static uint32 *g_colmap = NULL;
|
||||||
|
|
||||||
|
Loading…
Reference in New Issue
Block a user