src/video/win32_v.cpp
branchNewGRF_ports
changeset 6743 cabfaa4a0295
parent 6720 35756db7e577
child 6800 6c09e1e86fcb
equal deleted inserted replaced
6742:1337d6c9b97b 6743:cabfaa4a0295
    81 
    81 
    82 #define AS(x, z) {x, 0, z}
    82 #define AS(x, z) {x, 0, z}
    83 #define AM(x, y, z, w) {x, y - x, z}
    83 #define AM(x, y, z, w) {x, y - x, z}
    84 
    84 
    85 static const VkMapping _vk_mapping[] = {
    85 static const VkMapping _vk_mapping[] = {
    86 	// Pageup stuff + up/down
    86 	/* Pageup stuff + up/down */
    87 	AM(VK_PRIOR,VK_DOWN, WKC_PAGEUP, WKC_DOWN),
    87 	AM(VK_PRIOR,VK_DOWN, WKC_PAGEUP, WKC_DOWN),
    88 	// Map letters & digits
    88 	/* Map letters & digits */
    89 	AM('A','Z','A','Z'),
    89 	AM('A','Z','A','Z'),
    90 	AM('0','9','0','9'),
    90 	AM('0','9','0','9'),
    91 
    91 
    92 	AS(VK_ESCAPE,   WKC_ESC),
    92 	AS(VK_ESCAPE,   WKC_ESC),
    93 	AS(VK_PAUSE,    WKC_PAUSE),
    93 	AS(VK_PAUSE,    WKC_PAUSE),
    96 
    96 
    97 	AS(VK_SPACE,    WKC_SPACE),
    97 	AS(VK_SPACE,    WKC_SPACE),
    98 	AS(VK_RETURN,   WKC_RETURN),
    98 	AS(VK_RETURN,   WKC_RETURN),
    99 	AS(VK_TAB,      WKC_TAB),
    99 	AS(VK_TAB,      WKC_TAB),
   100 
   100 
   101 	// Function keys
   101 	/* Function keys */
   102 	AM(VK_F1, VK_F12, WKC_F1, WKC_F12),
   102 	AM(VK_F1, VK_F12, WKC_F1, WKC_F12),
   103 
   103 
   104 	// Numeric part.
   104 	/* Numeric part */
   105 	// What is the virtual keycode for numeric enter??
       
   106 	AM(VK_NUMPAD0, VK_NUMPAD9, WKC_NUM_0, WKC_NUM_9),
   105 	AM(VK_NUMPAD0, VK_NUMPAD9, WKC_NUM_0, WKC_NUM_9),
   107 	AS(VK_DIVIDE,   WKC_NUM_DIV),
   106 	AS(VK_DIVIDE,   WKC_NUM_DIV),
   108 	AS(VK_MULTIPLY, WKC_NUM_MUL),
   107 	AS(VK_MULTIPLY, WKC_NUM_MUL),
   109 	AS(VK_SUBTRACT, WKC_NUM_MINUS),
   108 	AS(VK_SUBTRACT, WKC_NUM_MINUS),
   110 	AS(VK_ADD,      WKC_NUM_PLUS),
   109 	AS(VK_ADD,      WKC_NUM_PLUS),
   111 	AS(VK_DECIMAL,  WKC_NUM_DECIMAL)
   110 	AS(VK_DECIMAL,  WKC_NUM_DECIMAL),
       
   111 
       
   112 	/* Other non-letter keys */
       
   113 	AS(0xBF,  WKC_SLASH),
       
   114 	AS(0xBA,  WKC_SEMICOLON),
       
   115 	AS(0xBB,  WKC_EQUALS),
       
   116 	AS(0xDB,  WKC_L_BRACKET),
       
   117 	AS(0xDC,  WKC_BACKSLASH),
       
   118 	AS(0xDD,  WKC_R_BRACKET),
       
   119 
       
   120 	AS(0xDE,  WKC_SINGLEQUOTE),
       
   121 	AS(0xBC,  WKC_COMMA),
       
   122 	AS(0xBD,  WKC_MINUS),
       
   123 	AS(0xBE,  WKC_PERIOD)
   112 };
   124 };
   113 
   125 
   114 static uint MapWindowsKey(uint sym)
   126 static uint MapWindowsKey(uint sym)
   115 {
   127 {
   116 	const VkMapping *map;
   128 	const VkMapping *map;
   135 {
   147 {
   136 	// allocate new dib section of the new size
   148 	// allocate new dib section of the new size
   137 	if (AllocateDibSection(w, h)) {
   149 	if (AllocateDibSection(w, h)) {
   138 		// mark all palette colors dirty
   150 		// mark all palette colors dirty
   139 		_pal_first_dirty = 0;
   151 		_pal_first_dirty = 0;
   140 		_pal_count_dirty = 255;
   152 		_pal_count_dirty = 256;
   141 		GameSizeChanged();
   153 		GameSizeChanged();
   142 
   154 
   143 		// redraw screen
   155 		// redraw screen
   144 		if (_wnd.running) {
   156 		if (_wnd.running) {
   145 			_screen.dst_ptr = _wnd.buffer_bits;
   157 			_screen.dst_ptr = _wnd.buffer_bits;