use ohos_xcomponent_sys::*;
use ohos_enum_macro::EnumFrom;
#[derive(Debug, Clone, Copy, PartialEq, Eq, EnumFrom)]
#[enum_from_config(OH_NativeXComponent_KeyCode, "OH_NativeXComponent_KeyCode_KEY_")]
pub enum KeyCode {
Unknown,
Fn,
Home,
Back,
MediaPlayPause,
MediaStop,
MediaNext,
MediaPrevious,
MediaRewind,
MediaFastForward,
VolumeUp,
VolumeDown,
Power,
Camera,
VolumeMute,
Mute,
BrightnessUp,
BrightnessDown,
Key0,
Key1,
Key2,
Key3,
Key4,
Key5,
Key6,
Key7,
Key8,
Key9,
Star,
Pound,
DpadUp,
DpadDown,
DpadLeft,
DpadRight,
DpadCenter,
A,
B,
C,
D,
E,
F,
G,
H,
I,
J,
K,
L,
M,
N,
O,
P,
Q,
R,
S,
T,
U,
V,
W,
X,
Y,
Z,
Comma,
Period,
AltLeft,
AltRight,
ShiftLeft,
ShiftRight,
Tab,
Space,
Sym,
Explorer,
Envelope,
Enter,
Del,
Grave,
Minus,
Equals,
LeftBracket,
RightBracket,
Backslash,
Semicolon,
Apostrophe,
Slash,
At,
Plus,
Menu,
PageUp,
PageDown,
Escape,
ForwardDel,
CtrlLeft,
CtrlRight,
CapsLock,
ScrollLock,
MetaLeft,
MetaRight,
Function,
SysRq,
Break,
MoveHome,
MoveEnd,
Insert,
Forward,
MediaPlay,
MediaPause,
MediaClose,
MediaEject,
MediaRecord,
F1,
F2,
F3,
F4,
F5,
F6,
F7,
F8,
F9,
F10,
F11,
F12,
NumLock,
Numpad0,
Numpad1,
Numpad2,
Numpad3,
Numpad4,
Numpad5,
Numpad6,
Numpad7,
Numpad8,
Numpad9,
NumpadDivide,
NumpadMultiply,
NumpadSubtract,
NumpadAdd,
NumpadDot,
NumpadComma,
NumpadEnter,
NumpadEquals,
NumpadLeftParen,
NumpadRightParen,
VirtualMultitask,
Sleep,
ZenkakuHankaku,
Key102nd,
Ro,
Katakana,
Hiragana,
Henkan,
KatakanaHiragana,
Muhenkan,
LineFeed,
Macro,
NumpadPlusMinus,
Scale,
Hanguel,
Hanja,
Yen,
Stop,
Again,
Props,
Undo,
Copy,
Open,
Paste,
Find,
Cut,
Help,
Calc,
File,
Bookmarks,
Next,
PlayPause,
Previous,
StopCD,
Config,
Refresh,
Exit,
Edit,
ScrollUp,
ScrollDown,
New,
Redo,
Close,
Play,
BassBoost,
Print,
Chat,
Finance,
Cancel,
KeyboardIllumToggle,
KeyboardIllumDown,
KeyboardIllumUp,
Send,
Reply,
ForwardMail,
Save,
Documents,
VideoNext,
VideoPrev,
BrightnessCycle,
BrightnessZero,
DisplayOff,
BtnMisc,
Goto,
Info,
Program,
PVR,
Subtitle,
FullScreen,
Keyboard,
AspectRatio,
PC,
TV,
TV2,
VCR,
VCR2,
Sat,
CD,
Tape,
Tuner,
Player,
DVD,
Audio,
Video,
Memo,
Calendar,
Red,
Green,
Yellow,
Blue,
ChannelUp,
ChannelDown,
Last,
Restart,
Slow,
Shuffle,
Videophone,
Games,
ZoomIn,
ZoomOut,
ZoomReset,
WordProcessor,
Editor,
Spreadsheet,
GraphicsEditor,
Presentation,
Database,
News,
Voicemail,
AddressBook,
Messenger,
BrightnessToggle,
SpellCheck,
Coffee,
MediaRepeat,
Images,
ButtonConfig,
TaskManager,
Journal,
ControlPanel,
AppSelect,
ScreenSaver,
Assistant,
KbdLayoutNext,
BrightnessMin,
BrightnessMax,
KbdInputAssistPrev,
KbdInputAssistNext,
KbdInputAssistPrevGroup,
KbdInputAssistNextGroup,
KbdInputAssistAccept,
KbdInputAssistCancel,
Front,
Setup,
Wakeup,
SendFile,
DeleteFile,
Xfer,
Prog1,
Prog2,
MsDos,
ScreenLock,
DirectionRotateDisplay,
CycleWindows,
Computer,
EjectCloseCD,
Iso,
Move,
F13,
F14,
F15,
F16,
F17,
F18,
F19,
F20,
F21,
F22,
F23,
F24,
Prog3,
Prog4,
Dashboard,
Suspend,
Hp,
Sound,
Question,
Connect,
Sport,
Shop,
AltErase,
SwitchVideoMode,
Battery,
Bluetooth,
Wlan,
Uwb,
WwanWimax,
RfKill,
Channel,
Btn0,
Btn1,
Btn2,
Btn3,
Btn4,
Btn5,
Btn6,
Btn7,
Btn8,
Btn9,
}
impl From<KeyCode> for u32 {
fn from(value: KeyCode) -> Self {
let key: OH_NativeXComponent_KeyCode = value.into();
key as u32
}
}