|
|
|
@ -5,8 +5,9 @@ using Avalonia.Input; |
|
|
|
|
|
|
|
namespace Avalonia.Android.Platform.Input |
|
|
|
{ |
|
|
|
internal class AndroidKeyboardDevice : KeyboardDevice, IKeyboardDevice { |
|
|
|
private static readonly Dictionary<Keycode, Key> KeyDic = new Dictionary<Keycode, Key> |
|
|
|
internal class AndroidKeyboardDevice : KeyboardDevice, IKeyboardDevice |
|
|
|
{ |
|
|
|
private static readonly Dictionary<Keycode, Key> KeyDic = new Dictionary<Keycode, Key> |
|
|
|
{ |
|
|
|
// { Keycode.Cancel?, Key.Cancel },
|
|
|
|
{ Keycode.Del, Key.Back }, |
|
|
|
@ -15,7 +16,7 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
{ Keycode.Clear, Key.Clear }, |
|
|
|
{ Keycode.Enter, Key.Return }, |
|
|
|
{ Keycode.MediaPause, Key.Pause }, |
|
|
|
//{ Keycode.?, Key.CapsLock }
|
|
|
|
{ Keycode.CapsLock, Key.CapsLock }, |
|
|
|
//{ Keycode.?, Key.HangulMode }
|
|
|
|
//{ Keycode.?, Key.JunjaMode }
|
|
|
|
//{ Keycode.?, Key.FinalMode }
|
|
|
|
@ -28,8 +29,8 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
{ Keycode.Space, Key.Space }, |
|
|
|
{ Keycode.PageUp, Key.Prior }, |
|
|
|
{ Keycode.PageDown, Key.PageDown }, |
|
|
|
// { Keycode.end?, Key.End },
|
|
|
|
{ Keycode.Home, Key.Home }, |
|
|
|
{ Keycode.MoveEnd, Key.End }, |
|
|
|
{ Keycode.MoveHome, Key.Home }, |
|
|
|
{ Keycode.DpadLeft, Key.Left }, |
|
|
|
{ Keycode.DpadUp, Key.Up }, |
|
|
|
{ Keycode.DpadRight, Key.Right }, |
|
|
|
@ -37,20 +38,20 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
// { Keycode.ButtonSelect?, Key.Select },
|
|
|
|
// { Keycode.print?, Key.Print },
|
|
|
|
//{ Keycode.execute?, Key.Execute },
|
|
|
|
// { Keycode.snap, Key.Snapshot }
|
|
|
|
//{ Keycode.snap?, Key.Snapshot }
|
|
|
|
{ Keycode.Insert, Key.Insert }, |
|
|
|
{ Keycode.ForwardDel, Key.Delete }, |
|
|
|
//{ Keycode.help, Key.Help },
|
|
|
|
//{ Keycode.?, Key.D0 }
|
|
|
|
//{ Keycode.?, Key.D1 }
|
|
|
|
//{ Keycode.?, Key.D2 }
|
|
|
|
//{ Keycode.?, Key.D3 }
|
|
|
|
//{ Keycode.?, Key.D4 }
|
|
|
|
//{ Keycode.?, Key.D5 }
|
|
|
|
//{ Keycode.?, Key.D6 }
|
|
|
|
//{ Keycode.?, Key.D7 }
|
|
|
|
//{ Keycode.?, Key.D8 }
|
|
|
|
//{ Keycode.?, Key.D9 }
|
|
|
|
{ Keycode.Help, Key.Help }, |
|
|
|
{ Keycode.Num0, Key.D0 }, |
|
|
|
{ Keycode.Num1, Key.D1 }, |
|
|
|
{ Keycode.Num2, Key.D2 }, |
|
|
|
{ Keycode.Num3, Key.D3 }, |
|
|
|
{ Keycode.Num4, Key.D4 }, |
|
|
|
{ Keycode.Num5, Key.D5 }, |
|
|
|
{ Keycode.Num6, Key.D6 }, |
|
|
|
{ Keycode.Num7, Key.D7 }, |
|
|
|
{ Keycode.Num8, Key.D8 }, |
|
|
|
{ Keycode.Num9, Key.D9 }, |
|
|
|
{ Keycode.A, Key.A }, |
|
|
|
{ Keycode.B, Key.B }, |
|
|
|
{ Keycode.C, Key.C }, |
|
|
|
@ -106,22 +107,22 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
//{ Keycode.?, Key.LWin }
|
|
|
|
//{ Keycode.?, Key.RWin }
|
|
|
|
//{ Keycode.?, Key.Apps }
|
|
|
|
//{ Keycode.?, Key.Sleep }
|
|
|
|
//{ Keycode.?, Key.NumPad0 }
|
|
|
|
//{ Keycode.?, Key.NumPad1 }
|
|
|
|
//{ Keycode.?, Key.NumPad2 }
|
|
|
|
//{ Keycode.?, Key.NumPad3 }
|
|
|
|
//{ Keycode.?, Key.NumPad4 }
|
|
|
|
//{ Keycode.?, Key.NumPad5 }
|
|
|
|
//{ Keycode.?, Key.NumPad6 }
|
|
|
|
//{ Keycode.?, Key.NumPad7 }
|
|
|
|
//{ Keycode.?, Key.NumPad8 }
|
|
|
|
//{ Keycode.?, Key.NumPad9 }
|
|
|
|
{ Keycode.Sleep, Key.Sleep }, |
|
|
|
{ Keycode.Numpad0, Key.NumPad0 }, |
|
|
|
{ Keycode.Numpad1, Key.NumPad1 }, |
|
|
|
{ Keycode.Numpad2, Key.NumPad2 }, |
|
|
|
{ Keycode.Numpad3, Key.NumPad3 }, |
|
|
|
{ Keycode.Numpad4, Key.NumPad4 }, |
|
|
|
{ Keycode.Numpad5, Key.NumPad5 }, |
|
|
|
{ Keycode.Numpad6, Key.NumPad6 }, |
|
|
|
{ Keycode.Numpad7, Key.NumPad7 }, |
|
|
|
{ Keycode.Numpad8, Key.NumPad8 }, |
|
|
|
{ Keycode.Numpad9, Key.NumPad9 }, |
|
|
|
{ Keycode.NumpadMultiply, Key.Multiply }, |
|
|
|
{ Keycode.NumpadAdd, Key.Add }, |
|
|
|
{ Keycode.NumpadComma, Key.Separator }, |
|
|
|
{ Keycode.NumpadSubtract, Key.Subtract }, |
|
|
|
//{ Keycode.numpaddecimal?, Key.Decimal }
|
|
|
|
{ Keycode.NumpadDot, Key.Decimal }, |
|
|
|
{ Keycode.NumpadDivide, Key.Divide }, |
|
|
|
{ Keycode.F1, Key.F1 }, |
|
|
|
{ Keycode.F2, Key.F2 }, |
|
|
|
@ -147,14 +148,14 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
//{ Keycode.R2, Key.F22 },
|
|
|
|
//{ Keycode.F23, Key.F23 },
|
|
|
|
//{ Keycode.R4, Key.F24 },
|
|
|
|
// { Keycode.numpad, Key.NumLock }
|
|
|
|
{ Keycode.NumLock, Key.NumLock }, |
|
|
|
{ Keycode.ScrollLock, Key.Scroll }, |
|
|
|
{ Keycode.ShiftLeft, Key.LeftShift }, |
|
|
|
//{ Keycode.?, Key.RightShift }
|
|
|
|
//{ Keycode.?, Key.LeftCtrl }
|
|
|
|
//{ Keycode.?, Key.RightCtrl }
|
|
|
|
//{ Keycode.?, Key.LeftAlt }
|
|
|
|
//{ Keycode.?, Key.RightAlt }
|
|
|
|
{ Keycode.ShiftRight, Key.RightShift }, |
|
|
|
{ Keycode.CtrlLeft, Key.LeftCtrl }, |
|
|
|
{ Keycode.CtrlRight, Key.RightCtrl }, |
|
|
|
{ Keycode.AltLeft, Key.LeftAlt }, |
|
|
|
{ Keycode.AltRight, Key.RightAlt }, |
|
|
|
//{ Keycode.?, Key.BrowserBack }
|
|
|
|
//{ Keycode.?, Key.BrowserForward }
|
|
|
|
//{ Keycode.?, Key.BrowserRefresh }
|
|
|
|
@ -163,28 +164,30 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
//{ Keycode.?, Key.BrowserFavorites }
|
|
|
|
//{ Keycode.?, Key.BrowserHome }
|
|
|
|
//{ Keycode.?, Key.VolumeMute }
|
|
|
|
//{ Keycode.?, Key.VolumeDown }
|
|
|
|
//{ Keycode.?, Key.VolumeUp }
|
|
|
|
//{ Keycode.?, Key.MediaNextTrack }
|
|
|
|
//{ Keycode.?, Key.MediaPreviousTrack }
|
|
|
|
//{ Keycode.?, Key.MediaStop }
|
|
|
|
//{ Keycode.?, Key.MediaPlayPause }
|
|
|
|
{ Keycode.VolumeDown, Key.VolumeDown }, |
|
|
|
{ Keycode.VolumeUp, Key.VolumeUp }, |
|
|
|
{ Keycode.MediaNext, Key.MediaNextTrack }, |
|
|
|
{ Keycode.MediaPrevious, Key.MediaPreviousTrack }, |
|
|
|
{ Keycode.MediaStop, Key.MediaStop }, |
|
|
|
{ Keycode.MediaPlayPause, Key.MediaPlayPause }, |
|
|
|
//{ Keycode.?, Key.LaunchMail }
|
|
|
|
//{ Keycode.?, Key.SelectMedia }
|
|
|
|
//{ Keycode.?, Key.LaunchApplication1 }
|
|
|
|
//{ Keycode.?, Key.LaunchApplication2 }
|
|
|
|
//{ Keycode.?, Key.OemSemicolon }
|
|
|
|
//{ Keycode.?, Key.OemPlus }
|
|
|
|
//{ Keycode.?, Key.OemComma }
|
|
|
|
//{ Keycode.?, Key.OemMinus }
|
|
|
|
//{ Keycode.?, Key.OemPeriod }
|
|
|
|
{ Keycode.Semicolon, Key.OemSemicolon }, |
|
|
|
{ Keycode.Plus, Key.OemPlus }, |
|
|
|
{ Keycode.Comma, Key.OemComma }, |
|
|
|
{ Keycode.Minus, Key.OemMinus }, |
|
|
|
{ Keycode.Period, Key.OemPeriod }, |
|
|
|
//{ Keycode.?, Key.Oem2 }
|
|
|
|
//{ Keycode.?, Key.OemTilde }
|
|
|
|
{ Keycode.Grave, Key.OemTilde }, |
|
|
|
//{ Keycode.?, Key.AbntC1 }
|
|
|
|
//{ Keycode.?, Key.AbntC2 }
|
|
|
|
//{ Keycode.?, Key.Oem4 }
|
|
|
|
//{ Keycode.?, Key.OemPipe }
|
|
|
|
//{ Keycode.?, Key.OemCloseBrackets }
|
|
|
|
{ Keycode.Apostrophe, Key.OemQuotes }, |
|
|
|
{ Keycode.Slash, Key.OemQuestion }, |
|
|
|
{ Keycode.LeftBracket, Key.OemOpenBrackets }, |
|
|
|
{ Keycode.RightBracket, Key.OemCloseBrackets }, |
|
|
|
//{ Keycode.?, Key.Oem7 }
|
|
|
|
//{ Keycode.?, Key.Oem8 }
|
|
|
|
//{ Keycode.?, Key.Oem102 }
|
|
|
|
@ -200,17 +203,18 @@ namespace Avalonia.Android.Platform.Input |
|
|
|
//{ Keycode.?, Key.DbeEnterWordRegisterMode }
|
|
|
|
//{ Keycode.?, Key.DbeEnterImeConfigureMode }
|
|
|
|
//{ Keycode.?, Key.EraseEof }
|
|
|
|
//{ Keycode.?, Key.Play }
|
|
|
|
{ Keycode.MediaPlay, Key.Play }, |
|
|
|
//{ Keycode.?, Key.Zoom }
|
|
|
|
//{ Keycode.?, Key.NoName }
|
|
|
|
//{ Keycode.?, Key.DbeEnterDialogConversionMode }
|
|
|
|
//{ Keycode.?, Key.OemClear }
|
|
|
|
//{ Keycode.?, Key.DeadCharProcessed }
|
|
|
|
{ Keycode.Backslash, Key.OemBackslash } |
|
|
|
}; |
|
|
|
|
|
|
|
internal static Key ConvertKey(Keycode key) { |
|
|
|
Key result; |
|
|
|
return KeyDic.TryGetValue(key, out result) ? result : Key.None; |
|
|
|
internal static Key ConvertKey(Keycode key) |
|
|
|
{ |
|
|
|
return KeyDic.TryGetValue(key, out var result) ? result : Key.None; |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
} |
|
|
|
|