diff options
author | Jonathan Slenders <jonathan@slenders.be> | 2015-06-24 19:44:44 +0200 |
---|---|---|
committer | Jonathan Slenders <jonathan@slenders.be> | 2015-06-24 19:44:44 +0200 |
commit | bc07cc17e664860e739431ef9f3df433e3581e37 (patch) | |
tree | db267ef0ec6da6277147ac3de0a0c5ae69182bc7 /prompt_toolkit/win32_types.py | |
parent | 5d9c7ca16fbf3c56352cbaea6ce53ea83490d2b1 (diff) |
Better Windows input/rendering support. Better unicode + alternate screen implemented.
Diffstat (limited to 'prompt_toolkit/win32_types.py')
-rw-r--r-- | prompt_toolkit/win32_types.py | 11 |
1 files changed, 9 insertions, 2 deletions
diff --git a/prompt_toolkit/win32_types.py b/prompt_toolkit/win32_types.py index b2739630..55a59caa 100644 --- a/prompt_toolkit/win32_types.py +++ b/prompt_toolkit/win32_types.py @@ -1,5 +1,5 @@ from ctypes import Union, Structure, c_char, c_short, c_long -from ctypes.wintypes import DWORD, BOOL, LPVOID, WORD, HANDLE +from ctypes.wintypes import DWORD, BOOL, LPVOID, WORD, HANDLE, WCHAR STD_INPUT_HANDLE = HANDLE(-10) @@ -22,6 +22,13 @@ class COORD(Structure): self.__class__.__name__, self.X, self.Y, type(self.X), type(self.Y)) +class UNICODE_OR_ASCII(Union): + _fields_ = [ + ('AsciiChar', c_char), + ('UnicodeChar', WCHAR), + ] + + class KEY_EVENT_RECORD(Structure): """ http://msdn.microsoft.com/en-us/library/windows/desktop/ms684166(v=vs.85).aspx @@ -31,7 +38,7 @@ class KEY_EVENT_RECORD(Structure): ('RepeatCount', c_short), # word ('VirtualKeyCode', c_short), # word ('VirtualScanCode', c_short), # word - ('AsciiChar', c_char), # ascii or unicode? + ('uChar', UNICODE_OR_ASCII), # Unicode or ASCII. ('ControlKeyState', c_long) # double word ] |