aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/win32/ffi.rs1
-rw-r--r--src/win32/mod.rs8
2 files changed, 9 insertions, 0 deletions
diff --git a/src/win32/ffi.rs b/src/win32/ffi.rs
index 5051c46..937de67 100644
--- a/src/win32/ffi.rs
+++ b/src/win32/ffi.rs
@@ -159,6 +159,7 @@ pub static SWP_NOZORDER: UINT = 0x0004;
pub static SWP_SHOWWINDOW: UINT = 0x0040;
// messages
+pub static WM_CHAR: UINT = 0x0102;
pub static WM_COMMAND: UINT = 0x0111;
pub static WM_DESTROY: UINT = 0x0002;
pub static WM_MOUSEMOVE: UINT = 0x0200;
diff --git a/src/win32/mod.rs b/src/win32/mod.rs
index a13aa74..d8e2df2 100644
--- a/src/win32/mod.rs
+++ b/src/win32/mod.rs
@@ -321,6 +321,14 @@ extern "stdcall" fn callback(window: ffi::HWND, msg: ffi::UINT,
0
},
+ ffi::WM_CHAR => {
+ use std::mem;
+ use events::ReceivedCharacter;
+ let chr: char = unsafe { mem::transmute(wparam) };
+ send_event(window, ReceivedCharacter(chr));
+ 0
+ },
+
ffi::WM_MOUSEMOVE => {
use CursorPositionChanged;