Changeset - r24807:48a7f8b46730
[Not reviewed]
master
0 6 0
milek7 - 3 years ago 2021-02-14 13:06:19
me@milek7.pl
Fix: VkMapping declarations violated C++ ODR rule.
6 files changed with 16 insertions and 16 deletions:
0 comments (0 inline, 0 general)
src/video/allegro_v.cpp
Show inline comments
 
@@ -232,22 +232,22 @@ bool VideoDriver_Allegro::ClaimMousePoin
 
	select_mouse_cursor(MOUSE_CURSOR_NONE);
 
	show_mouse(nullptr);
 
	disable_hardware_cursor();
 
	return true;
 
}
 

	
 
struct VkMapping {
 
struct AllegroVkMapping {
 
	uint16 vk_from;
 
	byte vk_count;
 
	byte map_to;
 
};
 

	
 
#define AS(x, z) {x, 0, z}
 
#define AM(x, y, z, w) {x, y - x, z}
 

	
 
static const VkMapping _vk_mapping[] = {
 
static const AllegroVkMapping _vk_mapping[] = {
 
	/* Pageup stuff + up/down */
 
	AM(KEY_PGUP, KEY_PGDN, WKC_PAGEUP, WKC_PAGEDOWN),
 
	AS(KEY_UP,     WKC_UP),
 
	AS(KEY_DOWN,   WKC_DOWN),
 
	AS(KEY_LEFT,   WKC_LEFT),
 
	AS(KEY_RIGHT,  WKC_RIGHT),
 
@@ -299,13 +299,13 @@ static const VkMapping _vk_mapping[] = {
 

	
 
static uint32 ConvertAllegroKeyIntoMy(WChar *character)
 
{
 
	int scancode;
 
	int unicode = ureadkey(&scancode);
 

	
 
	const VkMapping *map;
 
	const AllegroVkMapping *map;
 
	uint key = 0;
 

	
 
	for (map = _vk_mapping; map != endof(_vk_mapping); ++map) {
 
		if ((uint)(scancode - map->vk_from) <= map->vk_count) {
 
			key = scancode - map->vk_from + map->map_to;
 
			break;
src/video/cocoa/cocoa_keys.h
Show inline comments
 
@@ -129,20 +129,20 @@
 
#define QZ_IBOOK_LEFT   0x3B
 
#define QZ_IBOOK_RIGHT  0x3C
 
#define QZ_IBOOK_DOWN   0x3D
 
#define QZ_IBOOK_UP     0x3E
 

	
 

	
 
struct VkMapping {
 
struct CocoaVkMapping {
 
	unsigned short vk_from;
 
	byte map_to;
 
};
 

	
 
#define AS(x, z) {x, z}
 

	
 
static const VkMapping _vk_mapping[] = {
 
static const CocoaVkMapping _vk_mapping[] = {
 
	AS(QZ_BACKQUOTE,  WKC_BACKQUOTE), // key left of '1'
 
	AS(QZ_BACKQUOTE2, WKC_BACKQUOTE), // some keyboards have it on another scancode
 

	
 
	/* Pageup stuff + up/down */
 
	AS(QZ_PAGEUP,   WKC_PAGEUP),
 
	AS(QZ_PAGEDOWN, WKC_PAGEDOWN),
src/video/cocoa/cocoa_wnd.mm
Show inline comments
 
@@ -670,13 +670,13 @@ void CocoaDialog(const char *title, cons
 
			break;
 
	}
 

	
 
	BOOL interpret_keys = YES;
 
	if (down) {
 
		/* Map keycode to OTTD code. */
 
		auto vk = std::find_if(std::begin(_vk_mapping), std::end(_vk_mapping), [=](const VkMapping &m) { return m.vk_from == keycode; });
 
		auto vk = std::find_if(std::begin(_vk_mapping), std::end(_vk_mapping), [=](const CocoaVkMapping &m) { return m.vk_from == keycode; });
 
		uint32 pressed_key = vk != std::end(_vk_mapping) ? vk->map_to : 0;
 

	
 
		if (modifiers & NSShiftKeyMask)     pressed_key |= WKC_SHIFT;
 
		if (modifiers & NSControlKeyMask)   pressed_key |= (_settings_client.gui.right_mouse_btn_emulation != RMBE_CONTROL ? WKC_CTRL : WKC_META);
 
		if (modifiers & NSAlternateKeyMask) pressed_key |= WKC_ALT;
 
		if (modifiers & NSCommandKeyMask)   pressed_key |= (_settings_client.gui.right_mouse_btn_emulation != RMBE_CONTROL ? WKC_META : WKC_CTRL);
src/video/sdl2_v.cpp
Show inline comments
 
@@ -398,25 +398,25 @@ void VideoDriver_SDL::EditBoxLostFocus()
 
		SDL_StopTextInput();
 
		this->edit_box_focused = false;
 
	}
 
}
 

	
 

	
 
struct VkMapping {
 
struct SDLVkMapping {
 
	SDL_Keycode vk_from;
 
	byte vk_count;
 
	byte map_to;
 
	bool unprintable;
 
};
 

	
 
#define AS(x, z) {x, 0, z, false}
 
#define AM(x, y, z, w) {x, (byte)(y - x), z, false}
 
#define AS_UP(x, z) {x, 0, z, true}
 
#define AM_UP(x, y, z, w) {x, (byte)(y - x), z, true}
 

	
 
static const VkMapping _vk_mapping[] = {
 
static const SDLVkMapping _vk_mapping[] = {
 
	/* Pageup stuff + up/down */
 
	AS_UP(SDLK_PAGEUP,   WKC_PAGEUP),
 
	AS_UP(SDLK_PAGEDOWN, WKC_PAGEDOWN),
 
	AS_UP(SDLK_UP,     WKC_UP),
 
	AS_UP(SDLK_DOWN,   WKC_DOWN),
 
	AS_UP(SDLK_LEFT,   WKC_LEFT),
 
@@ -465,13 +465,13 @@ static const VkMapping _vk_mapping[] = {
 
	AS(SDLK_MINUS,   WKC_MINUS),
 
	AS(SDLK_PERIOD,  WKC_PERIOD)
 
};
 

	
 
static uint ConvertSdlKeyIntoMy(SDL_Keysym *sym, WChar *character)
 
{
 
	const VkMapping *map;
 
	const SDLVkMapping *map;
 
	uint key = 0;
 
	bool unprintable = false;
 

	
 
	for (map = _vk_mapping; map != endof(_vk_mapping); ++map) {
 
		if ((uint)(sym->sym - map->vk_from) <= map->vk_count) {
 
			key = sym->sym - map->vk_from + map->map_to;
 
@@ -505,13 +505,13 @@ static uint ConvertSdlKeyIntoMy(SDL_Keys
 
/**
 
 * Like ConvertSdlKeyIntoMy(), but takes an SDL_Keycode as input
 
 * instead of an SDL_Keysym.
 
 */
 
static uint ConvertSdlKeycodeIntoMy(SDL_Keycode kc)
 
{
 
	const VkMapping *map;
 
	const SDLVkMapping *map;
 
	uint key = 0;
 

	
 
	for (map = _vk_mapping; map != endof(_vk_mapping); ++map) {
 
		if ((uint)(kc - map->vk_from) <= map->vk_count) {
 
			key = kc - map->vk_from + map->map_to;
 
			break;
src/video/sdl_v.cpp
Show inline comments
 
@@ -400,26 +400,26 @@ bool VideoDriver_SDL::CreateMainSurface(
 
bool VideoDriver_SDL::ClaimMousePointer()
 
{
 
	SDL_ShowCursor(0);
 
	return true;
 
}
 

	
 
struct VkMapping {
 
struct SDLVkMapping {
 
#if SDL_VERSION_ATLEAST(1, 3, 0)
 
	SDL_Keycode vk_from;
 
#else
 
	uint16 vk_from;
 
#endif
 
	byte vk_count;
 
	byte map_to;
 
};
 

	
 
#define AS(x, z) {x, 0, z}
 
#define AM(x, y, z, w) {x, (byte)(y - x), z}
 

	
 
static const VkMapping _vk_mapping[] = {
 
static const SDLVkMapping _vk_mapping[] = {
 
	/* Pageup stuff + up/down */
 
	AM(SDLK_PAGEUP, SDLK_PAGEDOWN, WKC_PAGEUP, WKC_PAGEDOWN),
 
	AS(SDLK_UP,     WKC_UP),
 
	AS(SDLK_DOWN,   WKC_DOWN),
 
	AS(SDLK_LEFT,   WKC_LEFT),
 
	AS(SDLK_RIGHT,  WKC_RIGHT),
 
@@ -467,13 +467,13 @@ static const VkMapping _vk_mapping[] = {
 
	AS(SDLK_MINUS,   WKC_MINUS),
 
	AS(SDLK_PERIOD,  WKC_PERIOD)
 
};
 

	
 
static uint ConvertSdlKeyIntoMy(SDL_keysym *sym, WChar *character)
 
{
 
	const VkMapping *map;
 
	const SDLVkMapping *map;
 
	uint key = 0;
 

	
 
	for (map = _vk_mapping; map != endof(_vk_mapping); ++map) {
 
		if ((uint)(sym->sym - map->vk_from) <= map->vk_count) {
 
			key = sym->sym - map->vk_from + map->map_to;
 
			break;
src/video/win32_v.cpp
Show inline comments
 
@@ -111,22 +111,22 @@ static void UpdatePalette(HDC dc, uint s
 
bool VideoDriver_Win32::ClaimMousePointer()
 
{
 
	MyShowCursor(false, true);
 
	return true;
 
}
 

	
 
struct VkMapping {
 
struct Win32VkMapping {
 
	byte vk_from;
 
	byte vk_count;
 
	byte map_to;
 
};
 

	
 
#define AS(x, z) {x, 0, z}
 
#define AM(x, y, z, w) {x, y - x, z}
 

	
 
static const VkMapping _vk_mapping[] = {
 
static const Win32VkMapping _vk_mapping[] = {
 
	/* Pageup stuff + up/down */
 
	AM(VK_PRIOR, VK_DOWN, WKC_PAGEUP, WKC_DOWN),
 
	/* Map letters & digits */
 
	AM('A', 'Z', 'A', 'Z'),
 
	AM('0', '9', '0', '9'),
 

	
 
@@ -163,13 +163,13 @@ static const VkMapping _vk_mapping[] = {
 
	AS(0xBD,  WKC_MINUS),
 
	AS(0xBE,  WKC_PERIOD)
 
};
 

	
 
static uint MapWindowsKey(uint sym)
 
{
 
	const VkMapping *map;
 
	const Win32VkMapping *map;
 
	uint key = 0;
 

	
 
	for (map = _vk_mapping; map != endof(_vk_mapping); ++map) {
 
		if ((uint)(sym - map->vk_from) <= map->vk_count) {
 
			key = sym - map->vk_from + map->map_to;
 
			break;
0 comments (0 inline, 0 general)