feat: mobile, key help tool, more keys (#10068)
* feat: mobile, key help tool, vk_enter Signed-off-by: fufesou <linlong1266@gmail.com> * Mobile, add more function keys Signed-off-by: fufesou <linlong1266@gmail.com> * Mobile, more virtual function keys Signed-off-by: fufesou <linlong1266@gmail.com> * uinput, menu maps key_compose Signed-off-by: fufesou <linlong1266@gmail.com> --------- Signed-off-by: fufesou <linlong1266@gmail.com>
This commit is contained in:
parent
4f86169f7f
commit
afc8bb71dc
@ -872,6 +872,8 @@ class _KeyHelpToolsState extends State<KeyHelpTools> {
|
|||||||
|
|
||||||
final pi = gFFI.ffiModel.pi;
|
final pi = gFFI.ffiModel.pi;
|
||||||
final isMac = pi.platform == kPeerPlatformMacOS;
|
final isMac = pi.platform == kPeerPlatformMacOS;
|
||||||
|
final isWin = pi.platform == kPeerPlatformWindows;
|
||||||
|
final isLinux = pi.platform == kPeerPlatformLinux;
|
||||||
final modifiers = <Widget>[
|
final modifiers = <Widget>[
|
||||||
wrap('Ctrl ', () {
|
wrap('Ctrl ', () {
|
||||||
setState(() => inputModel.ctrl = !inputModel.ctrl);
|
setState(() => inputModel.ctrl = !inputModel.ctrl);
|
||||||
@ -952,6 +954,28 @@ class _KeyHelpToolsState extends State<KeyHelpTools> {
|
|||||||
wrap('PgDn', () {
|
wrap('PgDn', () {
|
||||||
inputModel.inputKey('VK_NEXT');
|
inputModel.inputKey('VK_NEXT');
|
||||||
}),
|
}),
|
||||||
|
// to-do: support PrtScr on Mac
|
||||||
|
if (isWin || isLinux)
|
||||||
|
wrap('PrtScr', () {
|
||||||
|
inputModel.inputKey('VK_SNAPSHOT');
|
||||||
|
}),
|
||||||
|
if (isWin || isLinux)
|
||||||
|
wrap('ScrollLock', () {
|
||||||
|
inputModel.inputKey('VK_SCROLL');
|
||||||
|
}),
|
||||||
|
if (isWin || isLinux)
|
||||||
|
wrap('Pause', () {
|
||||||
|
inputModel.inputKey('VK_PAUSE');
|
||||||
|
}),
|
||||||
|
if (isWin || isLinux)
|
||||||
|
// Maybe it's better to call it "Menu"
|
||||||
|
// https://en.wikipedia.org/wiki/Menu_key
|
||||||
|
wrap('Menu', () {
|
||||||
|
inputModel.inputKey('Apps');
|
||||||
|
}),
|
||||||
|
wrap('Enter', () {
|
||||||
|
inputModel.inputKey('VK_ENTER');
|
||||||
|
}),
|
||||||
SizedBox(width: 9999),
|
SizedBox(width: 9999),
|
||||||
wrap('', () {
|
wrap('', () {
|
||||||
inputModel.inputKey('VK_LEFT');
|
inputModel.inputKey('VK_LEFT');
|
||||||
|
@ -345,7 +345,7 @@ fn convert_to_tfc_key(key: Key) -> Option<TFC_Key> {
|
|||||||
Key::Numpad9 => TFC_Key::N9,
|
Key::Numpad9 => TFC_Key::N9,
|
||||||
Key::Decimal => TFC_Key::NumpadDecimal,
|
Key::Decimal => TFC_Key::NumpadDecimal,
|
||||||
Key::Clear => TFC_Key::NumpadClear,
|
Key::Clear => TFC_Key::NumpadClear,
|
||||||
Key::Pause => TFC_Key::PlayPause,
|
Key::Pause => TFC_Key::Pause,
|
||||||
Key::Print => TFC_Key::Print,
|
Key::Print => TFC_Key::Print,
|
||||||
Key::Snapshot => TFC_Key::PrintScreen,
|
Key::Snapshot => TFC_Key::PrintScreen,
|
||||||
Key::Insert => TFC_Key::Insert,
|
Key::Insert => TFC_Key::Insert,
|
||||||
|
@ -3293,6 +3293,7 @@ lazy_static::lazy_static! {
|
|||||||
("VK_PRINT", Key::ControlKey(ControlKey::Print)),
|
("VK_PRINT", Key::ControlKey(ControlKey::Print)),
|
||||||
("VK_EXECUTE", Key::ControlKey(ControlKey::Execute)),
|
("VK_EXECUTE", Key::ControlKey(ControlKey::Execute)),
|
||||||
("VK_SNAPSHOT", Key::ControlKey(ControlKey::Snapshot)),
|
("VK_SNAPSHOT", Key::ControlKey(ControlKey::Snapshot)),
|
||||||
|
("VK_SCROLL", Key::ControlKey(ControlKey::Scroll)),
|
||||||
("VK_INSERT", Key::ControlKey(ControlKey::Insert)),
|
("VK_INSERT", Key::ControlKey(ControlKey::Insert)),
|
||||||
("VK_DELETE", Key::ControlKey(ControlKey::Delete)),
|
("VK_DELETE", Key::ControlKey(ControlKey::Delete)),
|
||||||
("VK_HELP", Key::ControlKey(ControlKey::Help)),
|
("VK_HELP", Key::ControlKey(ControlKey::Help)),
|
||||||
|
@ -239,7 +239,7 @@ pub mod service {
|
|||||||
(enigo::Key::Select, evdev::Key::KEY_SELECT),
|
(enigo::Key::Select, evdev::Key::KEY_SELECT),
|
||||||
(enigo::Key::Print, evdev::Key::KEY_PRINT),
|
(enigo::Key::Print, evdev::Key::KEY_PRINT),
|
||||||
// (enigo::Key::Execute, evdev::Key::KEY_EXECUTE),
|
// (enigo::Key::Execute, evdev::Key::KEY_EXECUTE),
|
||||||
// (enigo::Key::Snapshot, evdev::Key::KEY_SNAPSHOT),
|
(enigo::Key::Snapshot, evdev::Key::KEY_SYSRQ),
|
||||||
(enigo::Key::Insert, evdev::Key::KEY_INSERT),
|
(enigo::Key::Insert, evdev::Key::KEY_INSERT),
|
||||||
(enigo::Key::Help, evdev::Key::KEY_HELP),
|
(enigo::Key::Help, evdev::Key::KEY_HELP),
|
||||||
(enigo::Key::Sleep, evdev::Key::KEY_SLEEP),
|
(enigo::Key::Sleep, evdev::Key::KEY_SLEEP),
|
||||||
@ -247,7 +247,7 @@ pub mod service {
|
|||||||
(enigo::Key::Scroll, evdev::Key::KEY_SCROLLLOCK),
|
(enigo::Key::Scroll, evdev::Key::KEY_SCROLLLOCK),
|
||||||
(enigo::Key::NumLock, evdev::Key::KEY_NUMLOCK),
|
(enigo::Key::NumLock, evdev::Key::KEY_NUMLOCK),
|
||||||
(enigo::Key::RWin, evdev::Key::KEY_RIGHTMETA),
|
(enigo::Key::RWin, evdev::Key::KEY_RIGHTMETA),
|
||||||
(enigo::Key::Apps, evdev::Key::KEY_CONTEXT_MENU),
|
(enigo::Key::Apps, evdev::Key::KEY_COMPOSE), // it's a little strange that the key is mapped to KEY_COMPOSE, not KEY_MENU
|
||||||
(enigo::Key::Multiply, evdev::Key::KEY_KPASTERISK),
|
(enigo::Key::Multiply, evdev::Key::KEY_KPASTERISK),
|
||||||
(enigo::Key::Add, evdev::Key::KEY_KPPLUS),
|
(enigo::Key::Add, evdev::Key::KEY_KPPLUS),
|
||||||
(enigo::Key::Subtract, evdev::Key::KEY_KPMINUS),
|
(enigo::Key::Subtract, evdev::Key::KEY_KPMINUS),
|
||||||
|
Loading…
x
Reference in New Issue
Block a user