This adds iOS key map generation that uses std::maps. It uses std::maps because on iOS if we use NSDictionaries, then when XCode loads the dylib, the initialization of those status NSDictionaries hasn't yet occurred, and it crashes the app. std::maps have a well-defined static behavior, and are correctly initialized. I also made the naming of variables, fields, etc. consistent for macOS. We variously had macosFoo, macOSFoo, and macOsFoo. I eliminated macOsFoo and macosFoo, since the rest of the repo uses macOSFoo for lowerCamelCase names (with only a few exceptions). I used iOSFoo for iOS.
30 lines
1.0 KiB
Cheetah
30 lines
1.0 KiB
Cheetah
// Copyright 2014 The Flutter Authors. All rights reserved.
|
|
// Use of this source code is governed by a BSD-style license that can be
|
|
// found in the LICENSE file.
|
|
|
|
#include <map>
|
|
|
|
// DO NOT EDIT -- DO NOT EDIT -- DO NOT EDIT
|
|
// This file is generated by
|
|
// flutter/flutter:dev/tools/gen_keycodes/bin/gen_keycodes.dart and should not
|
|
// be edited directly.
|
|
//
|
|
// Edit the template
|
|
// flutter/flutter:dev/tools/gen_keycodes/data/ios_keyboard_map_cc.tmpl instead.
|
|
//
|
|
// See flutter/flutter:dev/tools/gen_keycodes/README.md for more information.
|
|
|
|
// Maps iOS-specific key code values representing [PhysicalKeyboardKey].
|
|
//
|
|
// iOS doesn't provide a scan code, but a virtual keycode to represent a physical key.
|
|
const std::map<int, int> g_ios_to_physical_key = {
|
|
@@@IOS_SCAN_CODE_MAP@@@
|
|
};
|
|
|
|
// A map of iOS key codes which have printable representations, but appear
|
|
// on the number pad. Used to provide different key objects for keys like
|
|
// KEY_EQUALS and NUMPAD_EQUALS.
|
|
const std::map<int, int> g_ios_numpad_map = {
|
|
@@@IOS_NUMPAD_MAP@@@
|
|
};
|