# HG changeset patch
# User Mads Kiilerich <[email protected]>
# Date 1300226301 -3600
# Node ID 838054c342230c59aba51518ec6a6b46872d0341
# Parent 2760f5e8d4b601f360ac76ac2e74be058be27873
wfreerdp: fullscreen toggling with Ctrl+Alt+Enter/Break
diff --git a/win/wfreerdp/wf_event.cpp b/win/wfreerdp/wf_event.cpp
--- a/win/wfreerdp/wf_event.cpp
+++ b/win/wfreerdp/wf_event.cpp
@@ -21,6 +21,7 @@
#include <freerdp/freerdp.h>
#include "wf_types.h"
#include "wf_event.h"
+#include "wf_win.h"
extern HCURSOR g_default_cursor;
extern HWND g_hWnd;
@@ -50,6 +51,18 @@
DEBUG_KBD("wParam %04X scanCode %04X flags %02X vkCode
%02X\n",
wParam, scanCode, flags, p->vkCode);
+ if (wfi->fs_toggle &&
+ ((p->vkCode == VK_RETURN) || (p->vkCode
== VK_CANCEL)) &&
+ (GetAsyncKeyState(VK_CONTROL) & 0x8000)
&&
+ (GetAsyncKeyState(VK_MENU) & 0x8000))
+ {
+ if (wParam == WM_KEYDOWN)
+ {
+ wf_toggle_fullscreen(wfi);
+ }
+ return 1;
+ }
+
if ((scanCode == 0x36) && (flags & 1))
{
DEBUG_KBD("hack: sending extended right shift
(x36) as plain left shift (0x2a)\n");
diff --git a/win/wfreerdp/wf_win.cpp b/win/wfreerdp/wf_win.cpp
--- a/win/wfreerdp/wf_win.cpp
+++ b/win/wfreerdp/wf_win.cpp
@@ -1197,6 +1197,15 @@
return 0;
}
+void
+wf_toggle_fullscreen(wfInfo * wfi)
+{
+ ShowWindow(wfi->hwnd, SW_HIDE);
+ wfi->fullscreen = !wfi->fullscreen;
+ wf_post_connect(wfi);
+ SetForegroundWindow(wfi->hwnd);
+}
+
int
wf_update_window(wfInfo * wfi)
{
diff --git a/win/wfreerdp/wf_win.h b/win/wfreerdp/wf_win.h
--- a/win/wfreerdp/wf_win.h
+++ b/win/wfreerdp/wf_win.h
@@ -29,6 +29,8 @@
int
wf_update_window(wfInfo * wfi);
void
+wf_toggle_fullscreen(wfInfo * wfi);
+void
wf_uninit(wfInfo * wfi);
#endif
------------------------------------------------------------------------------
Colocation vs. Managed Hosting
A question and answer guide to determining the best fit
for your organization - today and in the future.
http://p.sf.net/sfu/internap-sfd2d
_______________________________________________
Freerdp-devel mailing list
[email protected]
https://lists.sourceforge.net/lists/listinfo/freerdp-devel