mirror of
https://github.com/ayufan/steam-deck-tools.git
synced 2026-01-20 15:30:28 +01:00
Provide currated list of mapping keys (for keyboard)
This commit is contained in:
parent
f203459f9d
commit
e683915a2c
|
|
@ -34,3 +34,4 @@ It does help this project on being supported.
|
|||
- Setting `Keyboard[KEY] = false` and `Mouse[KEY] = false` does not cancel the press
|
||||
- Fix crash on startup when Steam is missing
|
||||
- Fix crash on resume when X360 Controller is in use
|
||||
- Provide currated list of mapping keys in settings (might be extended in the future)
|
||||
|
|
|
|||
|
|
@ -21,20 +21,56 @@ namespace SteamController.Devices
|
|||
{
|
||||
}
|
||||
|
||||
public bool this[VirtualKeyCode button]
|
||||
public bool this[ProfilesSettings.VirtualKeyCode key]
|
||||
{
|
||||
get { return keyCodes.ContainsKey(button); }
|
||||
get { return this[(VirtualKeyCode)key]; }
|
||||
set { this[(VirtualKeyCode)key] = value; }
|
||||
}
|
||||
|
||||
public bool this[System.Windows.Input.Key key]
|
||||
{
|
||||
get { return this[(VirtualKeyCode)System.Windows.Input.KeyInterop.VirtualKeyFromKey(key)]; }
|
||||
set { this[(VirtualKeyCode)System.Windows.Input.KeyInterop.VirtualKeyFromKey(key)] = value; }
|
||||
}
|
||||
|
||||
public bool this[System.Windows.Forms.Keys key]
|
||||
{
|
||||
get
|
||||
{
|
||||
if (key.HasFlag(System.Windows.Forms.Keys.Shift) && !this[VirtualKeyCode.SHIFT])
|
||||
return false;
|
||||
if (key.HasFlag(System.Windows.Forms.Keys.Alt) && !this[VirtualKeyCode.MENU])
|
||||
return false;
|
||||
if (key.HasFlag(System.Windows.Forms.Keys.Control) && !this[VirtualKeyCode.CONTROL])
|
||||
return false;
|
||||
return this[(VirtualKeyCode)(key & System.Windows.Forms.Keys.KeyCode)];
|
||||
}
|
||||
set
|
||||
{
|
||||
if (button == VirtualKeyCode.None)
|
||||
if (value)
|
||||
{
|
||||
this[VirtualKeyCode.SHIFT] = key.HasFlag(System.Windows.Forms.Keys.Shift);
|
||||
this[VirtualKeyCode.MENU] = key.HasFlag(System.Windows.Forms.Keys.Alt);
|
||||
this[VirtualKeyCode.CONTROL] = key.HasFlag(System.Windows.Forms.Keys.Control);
|
||||
this[(VirtualKeyCode)(key & System.Windows.Forms.Keys.KeyCode)] = true;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
public bool this[VirtualKeyCode key]
|
||||
{
|
||||
get { return keyCodes.ContainsKey(key); }
|
||||
set
|
||||
{
|
||||
if (key == VirtualKeyCode.None)
|
||||
return;
|
||||
|
||||
if (value)
|
||||
{
|
||||
if (keyCodes.ContainsKey(button))
|
||||
if (keyCodes.ContainsKey(key))
|
||||
return;
|
||||
var keyRepeat = lastKeyCodes.GetValueOrDefault(button) ?? new KeyRepeats(DateTime.Now.Add(FirstRepeat), 0);
|
||||
keyCodes.Add(button, keyRepeat);
|
||||
var keyRepeat = lastKeyCodes.GetValueOrDefault(key) ?? new KeyRepeats(DateTime.Now.Add(FirstRepeat), 0);
|
||||
keyCodes.Add(key, keyRepeat);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,6 +1,5 @@
|
|||
using System.ComponentModel;
|
||||
using System.Configuration;
|
||||
using WindowsInput;
|
||||
|
||||
namespace SteamController.ProfilesSettings
|
||||
{
|
||||
|
|
|
|||
392
SteamController/ProfilesSettings/VirtualKeyCode.cs
Normal file
392
SteamController/ProfilesSettings/VirtualKeyCode.cs
Normal file
|
|
@ -0,0 +1,392 @@
|
|||
namespace SteamController.ProfilesSettings
|
||||
{
|
||||
public enum VirtualKeyCode
|
||||
{
|
||||
None = 0,
|
||||
|
||||
//
|
||||
// Summary:
|
||||
// BACKSPACE key
|
||||
BACKSPACE = 8,
|
||||
//
|
||||
// Summary:
|
||||
// TAB key
|
||||
TAB = 9,
|
||||
//
|
||||
// Summary:
|
||||
// ENTER key
|
||||
RETURN = 13,
|
||||
//
|
||||
// Summary:
|
||||
// SHIFT key
|
||||
SHIFT = 16,
|
||||
//
|
||||
// Summary:
|
||||
// CTRL key
|
||||
CONTROL = 17,
|
||||
//
|
||||
// Summary:
|
||||
// ALT key
|
||||
ALT = 18,
|
||||
//
|
||||
// Summary:
|
||||
// ESC key
|
||||
ESCAPE = 27,
|
||||
//
|
||||
// Summary:
|
||||
// SPACEBAR
|
||||
SPACE = 32,
|
||||
//
|
||||
// Summary:
|
||||
// PAGE UP key
|
||||
PAGE_UP = 33,
|
||||
//
|
||||
// Summary:
|
||||
// PAGE DOWN key
|
||||
PAGE_DOWN = 34,
|
||||
//
|
||||
// Summary:
|
||||
// END key
|
||||
END = 35,
|
||||
//
|
||||
// Summary:
|
||||
// HOME key
|
||||
HOME = 36,
|
||||
//
|
||||
// Summary:
|
||||
// LEFT ARROW key
|
||||
LEFT = 37,
|
||||
//
|
||||
// Summary:
|
||||
// UP ARROW key
|
||||
UP = 38,
|
||||
//
|
||||
// Summary:
|
||||
// RIGHT ARROW key
|
||||
RIGHT = 39,
|
||||
//
|
||||
// Summary:
|
||||
// DOWN ARROW key
|
||||
DOWN = 40,
|
||||
//
|
||||
// Summary:
|
||||
// PRINT SCREEN key
|
||||
PRINT_SCREEN = 44,
|
||||
//
|
||||
// Summary:
|
||||
// INS key
|
||||
INSERT = 45,
|
||||
//
|
||||
// Summary:
|
||||
// DEL key
|
||||
DELETE = 46,
|
||||
//
|
||||
// Summary:
|
||||
// 0 key
|
||||
VK_0 = 48,
|
||||
//
|
||||
// Summary:
|
||||
// 1 key
|
||||
VK_1 = 49,
|
||||
//
|
||||
// Summary:
|
||||
// 2 key
|
||||
VK_2 = 50,
|
||||
//
|
||||
// Summary:
|
||||
// 3 key
|
||||
VK_3 = 51,
|
||||
//
|
||||
// Summary:
|
||||
// 4 key
|
||||
VK_4 = 52,
|
||||
//
|
||||
// Summary:
|
||||
// 5 key
|
||||
VK_5 = 53,
|
||||
//
|
||||
// Summary:
|
||||
// 6 key
|
||||
VK_6 = 54,
|
||||
//
|
||||
// Summary:
|
||||
// 7 key
|
||||
VK_7 = 55,
|
||||
//
|
||||
// Summary:
|
||||
// 8 key
|
||||
VK_8 = 56,
|
||||
//
|
||||
// Summary:
|
||||
// 9 key
|
||||
VK_9 = 57,
|
||||
//
|
||||
// Summary:
|
||||
// A key
|
||||
VK_A = 65,
|
||||
//
|
||||
// Summary:
|
||||
// B key
|
||||
VK_B = 66,
|
||||
//
|
||||
// Summary:
|
||||
// C key
|
||||
VK_C = 67,
|
||||
//
|
||||
// Summary:
|
||||
// D key
|
||||
VK_D = 68,
|
||||
//
|
||||
// Summary:
|
||||
// E key
|
||||
VK_E = 69,
|
||||
//
|
||||
// Summary:
|
||||
// F key
|
||||
VK_F = 70,
|
||||
//
|
||||
// Summary:
|
||||
// G key
|
||||
VK_G = 71,
|
||||
//
|
||||
// Summary:
|
||||
// H key
|
||||
VK_H = 72,
|
||||
//
|
||||
// Summary:
|
||||
// I key
|
||||
VK_I = 73,
|
||||
//
|
||||
// Summary:
|
||||
// J key
|
||||
VK_J = 74,
|
||||
//
|
||||
// Summary:
|
||||
// K key
|
||||
VK_K = 75,
|
||||
//
|
||||
// Summary:
|
||||
// L key
|
||||
VK_L = 76,
|
||||
//
|
||||
// Summary:
|
||||
// M key
|
||||
VK_M = 77,
|
||||
//
|
||||
// Summary:
|
||||
// N key
|
||||
VK_N = 78,
|
||||
//
|
||||
// Summary:
|
||||
// O key
|
||||
VK_O = 79,
|
||||
//
|
||||
// Summary:
|
||||
// P key
|
||||
VK_P = 80,
|
||||
//
|
||||
// Summary:
|
||||
// Q key
|
||||
VK_Q = 81,
|
||||
//
|
||||
// Summary:
|
||||
// R key
|
||||
VK_R = 82,
|
||||
//
|
||||
// Summary:
|
||||
// S key
|
||||
VK_S = 83,
|
||||
//
|
||||
// Summary:
|
||||
// T key
|
||||
VK_T = 84,
|
||||
//
|
||||
// Summary:
|
||||
// U key
|
||||
VK_U = 85,
|
||||
//
|
||||
// Summary:
|
||||
// V key
|
||||
VK_V = 86,
|
||||
//
|
||||
// Summary:
|
||||
// W key
|
||||
VK_W = 87,
|
||||
//
|
||||
// Summary:
|
||||
// X key
|
||||
VK_X = 88,
|
||||
//
|
||||
// Summary:
|
||||
// Y key
|
||||
VK_Y = 89,
|
||||
//
|
||||
// Summary:
|
||||
// Z key
|
||||
VK_Z = 90,
|
||||
//
|
||||
// Summary:
|
||||
// Left Windows key (Microsoft Natural keyboard)
|
||||
LWIN = 91,
|
||||
//
|
||||
// Summary:
|
||||
// Right Windows key (Natural keyboard)
|
||||
RWIN = 92,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 0 key
|
||||
NUMPAD0 = 96,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 1 key
|
||||
NUMPAD1 = 97,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 2 key
|
||||
NUMPAD2 = 98,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 3 key
|
||||
NUMPAD3 = 99,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 4 key
|
||||
NUMPAD4 = 100,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 5 key
|
||||
NUMPAD5 = 101,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 6 key
|
||||
NUMPAD6 = 102,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 7 key
|
||||
NUMPAD7 = 103,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 8 key
|
||||
NUMPAD8 = 104,
|
||||
//
|
||||
// Summary:
|
||||
// Numeric keypad 9 key
|
||||
NUMPAD9 = 105,
|
||||
//
|
||||
// Summary:
|
||||
// Multiply key
|
||||
MULTIPLY = 106,
|
||||
//
|
||||
// Summary:
|
||||
// Add key
|
||||
ADD = 107,
|
||||
//
|
||||
// Summary:
|
||||
// Separator key
|
||||
SEPARATOR = 108,
|
||||
//
|
||||
// Summary:
|
||||
// Subtract key
|
||||
SUBTRACT = 109,
|
||||
//
|
||||
// Summary:
|
||||
// Decimal key
|
||||
DECIMAL = 110,
|
||||
//
|
||||
// Summary:
|
||||
// Divide key
|
||||
DIVIDE = 111,
|
||||
//
|
||||
// Summary:
|
||||
// F1 key
|
||||
F1 = 112,
|
||||
//
|
||||
// Summary:
|
||||
// F2 key
|
||||
F2 = 113,
|
||||
//
|
||||
// Summary:
|
||||
// F3 key
|
||||
F3 = 114,
|
||||
//
|
||||
// Summary:
|
||||
// F4 key
|
||||
F4 = 115,
|
||||
//
|
||||
// Summary:
|
||||
// F5 key
|
||||
F5 = 116,
|
||||
//
|
||||
// Summary:
|
||||
// F6 key
|
||||
F6 = 117,
|
||||
//
|
||||
// Summary:
|
||||
// F7 key
|
||||
F7 = 118,
|
||||
//
|
||||
// Summary:
|
||||
// F8 key
|
||||
F8 = 119,
|
||||
//
|
||||
// Summary:
|
||||
// F9 key
|
||||
F9 = 120,
|
||||
//
|
||||
// Summary:
|
||||
// F10 key
|
||||
F10 = 121,
|
||||
//
|
||||
// Summary:
|
||||
// F11 key
|
||||
F11 = 122,
|
||||
//
|
||||
// Summary:
|
||||
// F12 key
|
||||
F12 = 123,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Volume Mute key
|
||||
VOLUME_MUTE = 173,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Volume Down key
|
||||
VOLUME_DOWN = 174,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Volume Up key
|
||||
VOLUME_UP = 175,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Next Track key
|
||||
MEDIA_NEXT_TRACK = 176,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Previous Track key
|
||||
MEDIA_PREV_TRACK = 177,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Stop Media key
|
||||
MEDIA_STOP = 178,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Play/Pause Media key
|
||||
MEDIA_PLAY_PAUSE = 179,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Start Mail key
|
||||
LAUNCH_MAIL = 180,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Select Media key
|
||||
LAUNCH_MEDIA_SELECT = 181,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Start Application 1 key
|
||||
LAUNCH_APP1 = 182,
|
||||
//
|
||||
// Summary:
|
||||
// Windows 2000/XP: Start Application 2 key
|
||||
LAUNCH_APP2 = 183
|
||||
}
|
||||
}
|
||||
Loading…
Reference in a new issue