static void apply_defaults(InputConfig &input_config, const TCHAR *const* default_modes, const InputConfig::Event *default_events, unsigned num_default_events, const flat_gesture_map *default_gesture2event, const flat_event_map *default_key2event, const flat_event_map *default_gc2event, const flat_event_map *default_n2event, const flat_label *default_labels) { assert(num_default_events <= InputConfig::MAX_EVENTS); input_config.SetDefaults(); while (*default_modes != NULL) input_config.AppendMode(*default_modes++); input_config.events.resize(num_default_events + 1); std::copy(default_events, default_events + num_default_events, input_config.events.begin() + 1); while (default_gesture2event->event > 0) { input_config.Gesture2Event.add(default_gesture2event->data, default_gesture2event->event); ++default_gesture2event; } while (default_key2event->event > 0) { input_config.Key2Event[default_key2event->mode][default_key2event->key] = default_key2event->event; ++default_key2event; } while (default_gc2event->event > 0) { input_config.GC2Event[default_gc2event->key] = default_gc2event->event; ++default_gc2event; } while (default_n2event->event > 0) { input_config.N2Event[default_n2event->key] = default_n2event->event; ++default_n2event; } while (default_labels->label != NULL) { makeLabel(input_config, (InputEvents::Mode)default_labels->mode, default_labels->label, default_labels->location, default_labels->event); ++default_labels; } }
static void apply_defaults(InputConfig &input_config, const TCHAR *const* default_modes, const InputConfig::Event *default_events, unsigned num_default_events, const flat_gesture_map *default_gesture2event, const flat_event_map *default_key2event, const flat_event_map *default_gc2event, const flat_event_map *default_n2event, const flat_label *default_labels) { assert(num_default_events <= InputConfig::MAX_EVENTS); input_config.SetDefaults(); while (*default_modes != NULL) input_config.AppendMode(*default_modes++); input_config.events.resize(num_default_events + 1); std::copy_n(default_events, num_default_events, input_config.events.begin() + 1); while (default_gesture2event->event > 0) { input_config.Gesture2Event.Add(default_gesture2event->data, default_gesture2event->event); ++default_gesture2event; } while (default_key2event->event > 0) { unsigned key_code_idx = default_key2event->key; auto key_2_event = input_config.Key2Event; #if defined(ENABLE_SDL) && (SDL_MAJOR_VERSION >= 2) if (default_key2event->key & SDLK_SCANCODE_MASK) { key_2_event = input_config.Key2EventNonChar; key_code_idx &= ~SDLK_SCANCODE_MASK; } #endif key_2_event[default_key2event->mode][key_code_idx] = default_key2event->event; ++default_key2event; } while (default_gc2event->event > 0) { input_config.GC2Event[default_gc2event->key] = default_gc2event->event; ++default_gc2event; } while (default_n2event->event > 0) { input_config.N2Event[default_n2event->key] = default_n2event->event; ++default_n2event; } while (default_labels->label != NULL) { makeLabel(input_config, (InputEvents::Mode)default_labels->mode, default_labels->label, default_labels->location, default_labels->event); ++default_labels; } }