blob: 832b3bec3265c12824646a918fd13e160a9261b9 [file] [log] [blame]
/*
* Copyright (C) 2023 The Android Open Source Project
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
syntax = "proto2";
package android.input;
option java_outer_classname = "InputProtoEnums";
option java_multiple_files = true;
/**
* Contains the key events that are pressed from keyboard
* Logged in KeyboardSystemsEventReported atom
*/
enum KeyboardSystemEvent {
UNSPECIFIED = 0;
// Go to Homescreen
HOME = 1;
// Open Overview/Recent apps
RECENT_APPS = 2;
// Go back
BACK = 3;
// Toggle recent apps
APP_SWITCH = 4;
// Launch assistant app
LAUNCH_ASSISTANT = 5;
// Launch assistant in voice mode
LAUNCH_VOICE_ASSISTANT = 6;
// Launch settings
LAUNCH_SYSTEM_SETTINGS = 7;
// Open/close notification panel
TOGGLE_NOTIFICATION_PANEL = 8;
// Show/hide taskbar
TOGGLE_TASKBAR = 9;
// Take full screenshot
TAKE_SCREENSHOT = 10;
// Show system shortcut list
OPEN_SHORTCUT_HELPER = 11;
// Increase display brightness
BRIGHTNESS_UP = 12;
// Decrease display brightness
BRIGHTNESS_DOWN = 13;
// Increase keyboard backlight brightness
KEYBOARD_BACKLIGHT_UP = 14;
// Decrease keyboard backlight brightness
KEYBOARD_BACKLIGHT_DOWN = 15;
// Turn keyboard backlight on/off
KEYBOARD_BACKLIGHT_TOGGLE = 16;
// Increase speaker volume
VOLUME_UP = 17;
// Decrease speaker volume
VOLUME_DOWN = 18;
// Mute speaker volume
VOLUME_MUTE = 19;
// Open app drawer
ALL_APPS = 20;
// Open default search activity
LAUNCH_SEARCH = 21;
// Change IME language
LANGUAGE_SWITCH = 22;
// Launch app drawer in accessibility mode
ACCESSIBILITY_ALL_APPS = 23;
// Toggle caps lock
TOGGLE_CAPS_LOCK = 24;
// Mute system microphone
SYSTEM_MUTE = 25;
// Navigate to/from split screen mode
SPLIT_SCREEN_NAVIGATION = 26;
// Trigger bug report
TRIGGER_BUG_REPORT = 27;
// Lock the device
LOCK_SCREEN = 28;
// Open notes app
OPEN_NOTES = 29;
// Power button pressed
TOGGLE_POWER = 30;
// System navigation keys
SYSTEM_NAVIGATION = 31;
// Sleep button press
SLEEP = 32;
// Wakeup button pressed
WAKEUP = 33;
// Media keys like play, pause, next, previous pressed
MEDIA_KEY = 34;
// Application launch shortcuts
LAUNCH_DEFAULT_BROWSER = 35;
LAUNCH_DEFAULT_EMAIL = 36;
LAUNCH_DEFAULT_CONTACTS = 37;
LAUNCH_DEFAULT_CALENDAR = 38;
LAUNCH_DEFAULT_CALCULATOR = 39;
LAUNCH_DEFAULT_MUSIC = 40;
LAUNCH_DEFAULT_MAPS = 41;
LAUNCH_DEFAULT_MESSAGING = 42;
LAUNCH_DEFAULT_GALLERY = 43;
LAUNCH_DEFAULT_FILES = 44;
LAUNCH_DEFAULT_WEATHER = 45;
LAUNCH_DEFAULT_FITNESS = 46;
// Launch application by package name defined by custom overlays for OEM specific shortcuts
LAUNCH_APPLICATION_BY_PACKAGE_NAME = 47;
}
/**
* Criteria for keyboard layout selection
*/
enum KeyboardLayoutSelectionCriteria {
// Manual selection by user
USER = 0;
// Auto-detection based on device provided language tag and layout type
DEVICE = 1;
// Auto-detection based on IME provided language tag and layout type
VIRTUAL_KEYBOARD = 2;
// Default selection
DEFAULT = 3;
}
/**
* Contains usage type/category definitions.
* Logged in InputDeviceUsageReported atom.
*/
enum InputDeviceUsageType {
UNKNOWN = 0;
// Miscellaneous buttons (such as volume, power, stylus buttons, remote controls etc.)
// that are not categorized a full keyboards.
BUTTONS = 1;
// An alphabetical physical keyboard.
KEYBOARD = 2;
// A D-Pad.
DPAD = 3;
// Gamepad buttons.
GAMEPAD = 4;
// A joystick, like one part of a gaming controller.
JOYSTICK = 5;
// A mouse that controls an on-screen cursor. (Touchpads are not included)
MOUSE = 6;
// A mouse that is operating under Pointer Capture mode.
MOUSE_CAPTURED = 7;
// A touchpad (trackpad) that controls an on-screen cursor.
TOUCHPAD = 8;
// A touchpad that is operating under Pointer Capture mode.
TOUCHPAD_CAPTURED = 9;
// A rotary encoder.
ROTARY_ENCODER = 10;
// A stylus, where touches are mapped directly to the display.
STYLUS_DIRECT = 11;
// A stylus that interacts with a display indirectly, such as by controlling an
// on-screen cursor. This includes external drawing tablets that don't have a built-in
// display.
STYLUS_INDIRECT = 12;
// A stylus that reports some information through Bluetooth that is then fused
// with touch information from the built-in touchscreen.
STYLUS_FUSED = 13;
// A touch device that navigates through the UI using gestures.
TOUCH_NAVIGATION = 14;
// A touchscreen, where touches are mapped directly to the display.
TOUCHSCREEN = 15;
// A trackball.
TRACKBALL = 16;
};
/**
* Contains buses through which an input device can be connected.
* Logged in InputDeviceUsageReported atom.
*/
enum InputDeviceBus {
OTHER = 0;
// Universal Serial Bus
USB = 1;
// Bluetooth or Bluetooth Low Energy (BLE)
BLUETOOTH = 2;
// Universal Stylus Initiative (USI) protocol (https://universalstylus.org)
USI = 3;
}