mirror of
https://github.com/rust-windowing/winit.git
synced 2026-09-02 14:50:04 -04:00
feat(core): add keyboard for ohos
This commit is contained in:
@@ -29,11 +29,13 @@ pub enum NativeKeyCode {
|
|||||||
Windows(u16),
|
Windows(u16),
|
||||||
/// An XKB "keycode".
|
/// An XKB "keycode".
|
||||||
Xkb(u32),
|
Xkb(u32),
|
||||||
|
/// An OpenHarmony "scancode".
|
||||||
|
Ohos(u32),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::fmt::Debug for NativeKeyCode {
|
impl std::fmt::Debug for NativeKeyCode {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
use NativeKeyCode::{Android, MacOS, Unidentified, Windows, Xkb};
|
use NativeKeyCode::{Android, MacOS, Ohos, Unidentified, Windows, Xkb};
|
||||||
let mut debug_tuple;
|
let mut debug_tuple;
|
||||||
match self {
|
match self {
|
||||||
Unidentified => {
|
Unidentified => {
|
||||||
@@ -55,6 +57,10 @@ impl std::fmt::Debug for NativeKeyCode {
|
|||||||
debug_tuple = f.debug_tuple("Xkb");
|
debug_tuple = f.debug_tuple("Xkb");
|
||||||
debug_tuple.field(&format_args!("0x{code:04X}"));
|
debug_tuple.field(&format_args!("0x{code:04X}"));
|
||||||
},
|
},
|
||||||
|
Ohos(code) => {
|
||||||
|
debug_tuple = f.debug_tuple("OpenHarmony");
|
||||||
|
debug_tuple.field(&format_args!("0x{code:04X}"));
|
||||||
|
},
|
||||||
}
|
}
|
||||||
debug_tuple.finish()
|
debug_tuple.finish()
|
||||||
}
|
}
|
||||||
@@ -85,11 +91,13 @@ pub enum NativeKey {
|
|||||||
Xkb(u32),
|
Xkb(u32),
|
||||||
/// A "key value string".
|
/// A "key value string".
|
||||||
Web(SmolStr),
|
Web(SmolStr),
|
||||||
|
/// An OpenHarmony "keycode", which is similar to a "virtual-key code" on Windows.
|
||||||
|
Ohos(u32),
|
||||||
}
|
}
|
||||||
|
|
||||||
impl std::fmt::Debug for NativeKey {
|
impl std::fmt::Debug for NativeKey {
|
||||||
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
fn fmt(&self, f: &mut std::fmt::Formatter<'_>) -> std::fmt::Result {
|
||||||
use NativeKey::{Android, MacOS, Unidentified, Web, Windows, Xkb};
|
use NativeKey::{Android, MacOS, Ohos, Unidentified, Web, Windows, Xkb};
|
||||||
let mut debug_tuple;
|
let mut debug_tuple;
|
||||||
match self {
|
match self {
|
||||||
Unidentified => {
|
Unidentified => {
|
||||||
@@ -115,6 +123,10 @@ impl std::fmt::Debug for NativeKey {
|
|||||||
debug_tuple = f.debug_tuple("Web");
|
debug_tuple = f.debug_tuple("Web");
|
||||||
debug_tuple.field(code);
|
debug_tuple.field(code);
|
||||||
},
|
},
|
||||||
|
Ohos(code) => {
|
||||||
|
debug_tuple = f.debug_tuple("OpenHarmony");
|
||||||
|
debug_tuple.field(code);
|
||||||
|
},
|
||||||
}
|
}
|
||||||
debug_tuple.finish()
|
debug_tuple.finish()
|
||||||
}
|
}
|
||||||
@@ -129,6 +141,7 @@ impl From<NativeKeyCode> for NativeKey {
|
|||||||
NativeKeyCode::MacOS(x) => NativeKey::MacOS(x),
|
NativeKeyCode::MacOS(x) => NativeKey::MacOS(x),
|
||||||
NativeKeyCode::Windows(x) => NativeKey::Windows(x),
|
NativeKeyCode::Windows(x) => NativeKey::Windows(x),
|
||||||
NativeKeyCode::Xkb(x) => NativeKey::Xkb(x),
|
NativeKeyCode::Xkb(x) => NativeKey::Xkb(x),
|
||||||
|
NativeKeyCode::Ohos(x) => NativeKey::Ohos(x),
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -39,3 +39,7 @@ The migration guide could reference other migration examples in the current
|
|||||||
changelog entry.
|
changelog entry.
|
||||||
|
|
||||||
## Unreleased
|
## Unreleased
|
||||||
|
|
||||||
|
### Added
|
||||||
|
|
||||||
|
- Add `keyboard` support for OpenHarmony.
|
||||||
Reference in New Issue
Block a user