33#define LOCK_CONSOLE _lock(_CONIO_LOCK)
34#define UNLOCK_CONSOLE _unlock(_CONIO_LOCK)
50 WARN(
"Input console handle initialization failed!\n");
62 WARN(
"Output console handle initialization failed!\n");
70 TRACE(
":Closing console handles\n");
118static const struct {
unsigned short vk;
unsigned char ch[4][2];}
enh_map[] = {
119 {0x47, {{0xE0, 0x47}, {0x00, 0x97}, {0xE0, 0x77}, {0xE0, 0x47}}},
120 {0x48, {{0xE0, 0x48}, {0x00, 0x98}, {0xE0, 0x8D}, {0xE0, 0x48}}},
121 {0x49, {{0xE0, 0x49}, {0x00, 0x99}, {0xE0, 0x86}, {0xE0, 0x49}}},
122 {0x4B, {{0xE0, 0x4B}, {0x00, 0x9B}, {0xE0, 0x73}, {0xE0, 0x4B}}},
123 {0x4D, {{0xE0, 0x4D}, {0x00, 0x9D}, {0xE0, 0x74}, {0xE0, 0x4D}}},
124 {0x4F, {{0xE0, 0x4F}, {0x00, 0x9F}, {0xE0, 0x75}, {0xE0, 0x4F}}},
125 {0x50, {{0xE0, 0x50}, {0x00, 0xA0}, {0xE0, 0x91}, {0xE0, 0x50}}},
126 {0x51, {{0xE0, 0x51}, {0x00, 0xA1}, {0xE0, 0x76}, {0xE0, 0x51}}},
127 {0x52, {{0xE0, 0x52}, {0x00, 0xA2}, {0xE0, 0x92}, {0xE0, 0x52}}},
128 {0x53, {{0xE0, 0x53}, {0x00, 0xA3}, {0xE0, 0x93}, {0xE0, 0x53}}},
156 WARN(
"Unmapped char keyState=%lx vk=%x\n",
190 unsigned char ch1, ch2;
257 unsigned char ch1, ch2;
405 if(
buf[got-2] ==
'\r') {
409 else if(got == 1 &&
buf[got-1] ==
'\n') {
413 else if(got ==
str[0] &&
buf[got-1] ==
'\r') {
494 ir[
i].
Event.KeyEvent.bKeyDown &&
#define WINE_DEFAULT_DEBUG_CHANNEL(t)
int __cdecl __conio_common_vcwprintf(unsigned __int64 const options, wchar_t const *const format, _locale_t const locale, va_list const arglist)
#define INVALID_HANDLE_VALUE
#define CreateFileA(a, b, c, d, e, f, g)
BOOL WINAPI GetConsoleMode(HANDLE hConsoleHandle, LPDWORD lpMode)
BOOL WINAPI DECLSPEC_HOTPATCH SetConsoleMode(HANDLE hConsoleHandle, DWORD dwMode)
BOOL WINAPI GetNumberOfConsoleInputEvents(HANDLE hConsoleInput, LPDWORD lpNumberOfEvents)
BOOL WINAPI DECLSPEC_HOTPATCH PeekConsoleInputA(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
BOOL WINAPI ReadConsoleInputA(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
BOOL WINAPI ReadConsoleA(HANDLE handle, void *buffer, DWORD length, DWORD *count, void *reserved)
BOOL WINAPI ReadConsoleInputW(HANDLE handle, INPUT_RECORD *buffer, DWORD length, DWORD *count)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleW(HANDLE handle, const void *buffer, DWORD length, DWORD *written, void *reserved)
BOOL WINAPI DECLSPEC_HOTPATCH WriteConsoleA(HANDLE handle, const void *buffer, DWORD length, DWORD *written, void *reserved)
int CDECL _vcwprintf(const wchar_t *format, va_list valist)
static BOOL handle_enhanced_keys(INPUT_RECORD *ir, unsigned char *ch1, unsigned char *ch2)
int CDECL _ungetch_nolock(int c)
static HANDLE MSVCRT_console_out
static HANDLE MSVCRT_console_in
static HANDLE msvcrt_input_console(void)
int CDECL _vcprintf_l(const char *format, _locale_t locale, va_list valist)
int CDECL _ungetch(int c)
int WINAPIV _cwprintf_l(const wchar_t *format, _locale_t locale,...)
int WINAPIV _cprintf_l(const char *format, _locale_t locale,...)
static wchar_t __MSVCRT_console_buffer_w
static int puts_clbk_console_a(void *ctx, int len, const char *str)
int CDECL _getche_nolock(void)
int CDECL _vcprintf(const char *format, va_list valist)
static const struct @574 enh_map[]
wchar_t CDECL _getwche(void)
wchar_t CDECL _getwch_nolock(void)
static int __MSVCRT_console_buffer
static int puts_clbk_console_w(void *ctx, int len, const wchar_t *str)
wchar_t CDECL _ungetwch_nolock(wchar_t c)
static HANDLE msvcrt_output_console(void)
int CDECL _putch_nolock(int c)
int CDECL _getch_nolock(void)
void msvcrt_free_console(void)
wchar_t CDECL _getwche_nolock(void)
int CDECL _cputs(const char *str)
int CDECL _cputws(const wchar_t *str)
int CDECL _vcwprintf_l(const wchar_t *format, _locale_t locale, va_list valist)
int WINAPIV _cprintf(const char *format,...)
int WINAPIV _cwprintf(const wchar_t *format,...)
wchar_t CDECL _getwch(void)
wchar_t CDECL _putwch_nolock(wchar_t c)
_ACRTIMP size_t __cdecl wcslen(const wchar_t *)
_ACRTIMP size_t __cdecl strlen(const char *)
#define UCRTBASE_PRINTF_MASK
int pf_printf_a(puts_clbk_a, void *, const char *, _locale_t, DWORD, args_clbk, void *, va_list *)
int pf_printf_w(puts_clbk_w, void *, const wchar_t *, _locale_t, DWORD, args_clbk, void *, va_list *)
printf_arg arg_clbk_valist(void *, int, int, va_list *)
#define MSVCRT_CHECK_PMT(x)
GLuint GLuint GLsizei count
GLenum GLuint GLenum GLsizei const GLchar * buf
GLsizei GLenum const GLvoid GLsizei GLenum GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLint GLint GLint GLshort GLshort GLshort GLubyte GLubyte GLubyte GLuint GLuint GLuint GLushort GLushort GLushort GLbyte GLbyte GLbyte GLbyte GLdouble GLdouble GLdouble GLdouble GLfloat GLfloat GLfloat GLfloat GLint GLint GLint GLint GLshort GLshort GLshort GLshort GLubyte GLubyte GLubyte GLubyte GLuint GLuint GLuint GLuint GLushort GLushort GLushort GLushort GLboolean const GLdouble const GLfloat const GLint const GLshort const GLbyte const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLdouble const GLfloat const GLfloat const GLint const GLint const GLshort const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort const GLdouble const GLfloat const GLint const GLshort GLenum GLenum GLenum GLfloat GLenum GLint GLenum GLenum GLenum GLfloat GLenum GLenum GLint GLenum GLfloat GLenum GLint GLint GLushort GLenum GLenum GLfloat GLenum GLenum GLint GLfloat const GLubyte GLenum GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLint GLint GLsizei GLsizei GLint GLenum GLenum const GLvoid GLenum GLenum const GLfloat GLenum GLenum const GLint GLenum GLenum const GLdouble GLenum GLenum const GLfloat GLenum GLenum const GLint GLsizei GLuint GLfloat GLuint GLbitfield GLfloat GLint GLuint GLboolean GLenum GLfloat GLenum GLbitfield GLenum GLfloat GLfloat GLint GLint const GLfloat GLenum GLfloat GLfloat GLint GLint GLfloat GLfloat GLint GLint const GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat GLint GLfloat GLfloat const GLdouble const GLfloat const GLdouble const GLfloat GLint i
_In_ ACCESS_MASK _In_opt_ POBJECT_ATTRIBUTES _In_ EVENT_TYPE EventType
_Check_return_opt_ _DCRTIMP int __cdecl __conio_common_vcprintf(_In_ unsigned __int64 _Options, _In_z_ _Printf_format_string_params_(2) char const *_Format, _In_opt_ _locale_t _Locale, va_list _ArgList)
union _KEY_EVENT_RECORD::@3502 uChar
#define LEFT_CTRL_PRESSED
#define ENABLE_ECHO_INPUT
#define RIGHT_CTRL_PRESSED
#define RIGHT_ALT_PRESSED
#define ENABLE_LINE_INPUT
#define ENABLE_PROCESSED_INPUT