diff --git a/Assets/Material/Card.png b/Assets/Material/Card.png index 0067777..506c229 100644 Binary files a/Assets/Material/Card.png and b/Assets/Material/Card.png differ diff --git a/Assets/StreamingAssets.meta b/Assets/Plugin.meta similarity index 77% rename from Assets/StreamingAssets.meta rename to Assets/Plugin.meta index 625b2cc..6f759b0 100644 --- a/Assets/StreamingAssets.meta +++ b/Assets/Plugin.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: dca300f13f0e93746993d164be2df94e +guid: d7df676b9f3cb3440b31baf54f9b32e8 folderAsset: yes DefaultImporter: externalObjects: {} diff --git a/Assets/WindowsInput.dll.meta b/Assets/Plugin/WindowsInput.dll.meta similarity index 93% rename from Assets/WindowsInput.dll.meta rename to Assets/Plugin/WindowsInput.dll.meta index e04b556..f2a5a0e 100644 --- a/Assets/WindowsInput.dll.meta +++ b/Assets/Plugin/WindowsInput.dll.meta @@ -1,5 +1,5 @@ fileFormatVersion: 2 -guid: 0d466e4e052418941a390e9537f2cb5d +guid: 8201d5f789cf244438bb7b733ba89ae8 PluginImporter: externalObjects: {} serializedVersion: 2 diff --git a/Assets/Scenes/WACVR.unity b/Assets/Scenes/WACVR.unity index ba27c41..5a5eda2 100644 --- a/Assets/Scenes/WACVR.unity +++ b/Assets/Scenes/WACVR.unity @@ -32970,7 +32970,7 @@ MonoBehaviour: m_GameObject: {fileID: 2104653491023758766} m_Enabled: 1 m_EditorHideFlags: 0 - m_Script: {fileID: 11500000, guid: 9df7ca68b30810848ac3fa535422e6f4, type: 3} + m_Script: {fileID: 0} m_Name: m_EditorClassIdentifier: --- !u!114 &8875919877197206717 diff --git a/Assets/Script/Serial.cs b/Assets/Script/Serial.cs index 8d30fdb..3f1e3bb 100644 --- a/Assets/Script/Serial.cs +++ b/Assets/Script/Serial.cs @@ -4,7 +4,6 @@ using System; using System.Collections; using System.Collections.Generic; using System.Linq; -using System.Collections; public class Serial : MonoBehaviour { @@ -31,7 +30,6 @@ public class Serial : MonoBehaviour byte[] SettingData_162 = new byte[7]; byte[] SettingData_148 = new byte[7]; byte[] SettingData_201 = new byte[7]; - int TouchPackCounter = 0; static byte[] TouchPackL = new byte[36]; static byte[] TouchPackR = new byte[36]; bool StartUp = false; @@ -44,20 +42,16 @@ public class Serial : MonoBehaviour SetSettingData_201(); SetSettingData_162(); SetSettingData_148(); - // SettingData_168 = ByteHelper.ConvertTextToByteArray(SettingData_168_Text); } - // Update is called once per frame void Update() { if(ComL.IsOpen) ReadHead(ComL, 0); if (ComR.IsOpen) ReadHead(ComR, 1); - //SendTouch(ComL, TouchPackL); - //SendTouch(ComR, TouchPackR); - if (Input.GetKeyDown(KeyCode.M)) - StartCoroutine(Test(true)); + if (Input.GetKeyDown(KeyCode.M)) //this is a touch test code + StartCoroutine(TouchTest(true)); } private void FixedUpdate() { @@ -65,7 +59,7 @@ public class Serial : MonoBehaviour SendTouch(ComR, TouchPackR); } - IEnumerator Test(bool State) + IEnumerator TouchTest(bool State) //this is a touch test code { for (int i = 0; i < 240; i++) { @@ -77,7 +71,7 @@ public class Serial : MonoBehaviour } } - void ReadHead(SerialPort Serial, int side) + void ReadHead(SerialPort Serial, int side) //Read head byte { if(Serial.BytesToRead > 0) { @@ -101,7 +95,6 @@ public class Serial : MonoBehaviour syncbytes.Add(syncCheckSum); Serial.Write(syncbytes.ToArray(), 0, syncbytes.Count); Debug.Log($"GET SYNC BOARD VER {side}"); - //Bytes.Clear(); break; case CMD_NEXT_READ: //Response: corresponding read bytes + checksum @@ -131,8 +124,6 @@ public class Serial : MonoBehaviour Debug.Log("Extra Read"); break; } - // Serial.Write(SettingData_114, 0, 81); - //Bytes.Clear(); break; case CMD_GET_UNIT_BOARD_VER: //Response: cmd byte + sync board ver bytes + 'L'/'R' based on side + unit board ver bytes x6 + checksum @@ -148,24 +139,20 @@ public class Serial : MonoBehaviour unitBytes.Add(unitCheckSum); Serial.Write(unitBytes.ToArray(), 0, unitBytes.Count); Debug.Log($"GET UNIT BOARD VER {side}"); - //Bytes.Clear(); break; case CMD_MYSTERY1: StartUp = false; Serial.Write(SettingData_162, 0, 3); Debug.Log($"MYSTERY 1 SIDE {side}"); - //Bytes.Clear(); break; case CMD_MYSTERY2: StartUp = false; Serial.Write(SettingData_148, 0, 3); Debug.Log($"MYSTERY 2 SIDE {side}"); - //Bytes.Clear(); break; case CMD_START_AUTO_SCAN: Serial.Write(SettingData_201.ToArray(), 0, 3); Debug.Log($"START AUTO SCAN SIDE {side}"); - //Bytes.Clear(); StartUp = true; break; case CMD_BEGIN_WRITE: @@ -177,12 +164,11 @@ public class Serial : MonoBehaviour case 154: StartUp = false; Debug.Log("BAD"); - //Bytes.Clear(); break; } } - byte[] GetTouchPack(byte[] Pack) + byte[] GetTouchPack(byte[] Pack) //convert touch to right format for game { Pack[0] = 129; Pack[34] = Pack[34]++; @@ -192,12 +178,12 @@ public class Serial : MonoBehaviour Pack[34] = 0; return Pack; } - void SendTouch(SerialPort Serial, byte[] Pack) + void SendTouch(SerialPort Serial, byte[] Pack) //Send touch data { if (StartUp) Serial.Write(GetTouchPack(Pack), 0, 36); } - public static void SetTouch(int Area, bool State) + public static void SetTouch(int Area, bool State) //set touch data 0-239 { Area +=1; if (Area < 121) @@ -267,12 +253,4 @@ public static class ByteHelper tempList.Add(Convert.ToByte(data[i])); return tempList; } - public static byte[] ConvertTextToByteArray(TextAsset TextObj) - { - var splitedData = TextObj.text.Split(Convert.ToChar("\n")); - byte[] tempList = new byte[splitedData.Length]; - for (int i = 0; i < splitedData.Length; i++) - tempList[i] = Convert.ToByte(splitedData[i]); - return tempList; - } } diff --git a/Assets/WindowsInput.dll b/Assets/WindowsInput.dll deleted file mode 100644 index cc45349..0000000 Binary files a/Assets/WindowsInput.dll and /dev/null differ diff --git a/Assets/WindowsInput.xml b/Assets/WindowsInput.xml deleted file mode 100644 index 926655d..0000000 --- a/Assets/WindowsInput.xml +++ /dev/null @@ -1,2220 +0,0 @@ - - - - WindowsInput - - - - - The contract for a service that simulates Keyboard and Mouse input and Hardware Input Device state detection for the Windows Platform. - - - - - Gets the instance for simulating Keyboard input. - - The instance. - - - - Gets the instance for simulating Mouse input. - - The instance. - - - - Gets the instance for determining the state of the various input devices. - - The instance. - - - - The service contract for a mouse simulator for the Windows platform. - - - - - Simulates mouse movement by the specified distance measured as a delta from the current mouse location in pixels. - - The distance in pixels to move the mouse horizontally. - The distance in pixels to move the mouse vertically. - - - - Simulates mouse movement to the specified location on the primary display device. - - The destination's absolute X-coordinate on the primary display device where 0 is the extreme left hand side of the display device and 65535 is the extreme right hand side of the display device. - The destination's absolute Y-coordinate on the primary display device where 0 is the top of the display device and 65535 is the bottom of the display device. - - - - Simulates mouse movement to the specified location on the Virtual Desktop which includes all active displays. - - The destination's absolute X-coordinate on the virtual desktop where 0 is the left hand side of the virtual desktop and 65535 is the extreme right hand side of the virtual desktop. - The destination's absolute Y-coordinate on the virtual desktop where 0 is the top of the virtual desktop and 65535 is the bottom of the virtual desktop. - - - - Simulates a mouse left button down gesture. - - - - - Simulates a mouse left button up gesture. - - - - - Simulates a mouse left button click gesture. - - - - - Simulates a mouse left button double-click gesture. - - - - - Simulates a mouse right button down gesture. - - - - - Simulates a mouse right button up gesture. - - - - - Simulates a mouse right button click gesture. - - - - - Simulates a mouse right button double-click gesture. - - - - - Simulates a mouse X button down gesture. - - The button id. - - - - Simulates a mouse X button up gesture. - - The button id. - - - - Simulates a mouse X button click gesture. - - The button id. - - - - Simulates a mouse X button double-click gesture. - - The button id. - - - - Simulates mouse vertical wheel scroll gesture. - - The amount to scroll in clicks. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. - - - - Simulates a mouse horizontal wheel scroll gesture. Supported by Windows Vista and later. - - The amount to scroll in clicks. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The number of milliseconds to wait. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The time to wait. - - - - Gets the instance for simulating Keyboard input. - - The instance. - - - - Implements the interface to simulate Keyboard and Mouse input and provide the state of those input devices. - - - - - The instance to use for simulating keyboard input. - - - - - The instance to use for simulating mouse input. - - - - - The instance to use for interpreting the state of the input devices. - - - - - Initializes a new instance of the class using the specified , and instances. - - The instance to use for simulating keyboard input. - The instance to use for simulating mouse input. - The instance to use for interpreting the state of input devices. - - - - Initializes a new instance of the class using the default , and instances. - - - - - Gets the instance for simulating Keyboard input. - - The instance. - - - - Gets the instance for simulating Mouse input. - - The instance. - - - - Gets the instance for determining the state of the various input devices. - - The instance. - - - - The mouse button - - - - - Left mouse button - - - - - Middle mouse button - - - - - Right moust button - - - - - Implements the interface by calling the an to simulate Mouse gestures. - - - - - The instance of the to use for dispatching messages. - - - - - Initializes a new instance of the class using an instance of a for dispatching messages. - - The that owns this instance. - - - - Initializes a new instance of the class using the specified for dispatching messages. - - The that owns this instance. - The to use for dispatching messages. - If null is passed as the . - - - - Sends the list of messages using the instance. - - The of messages to send. - - - - Simulates mouse movement by the specified distance measured as a delta from the current mouse location in pixels. - - The distance in pixels to move the mouse horizontally. - The distance in pixels to move the mouse vertically. - - - - Simulates mouse movement to the specified location on the primary display device. - - The destination's absolute X-coordinate on the primary display device where 0 is the extreme left hand side of the display device and 65535 is the extreme right hand side of the display device. - The destination's absolute Y-coordinate on the primary display device where 0 is the top of the display device and 65535 is the bottom of the display device. - - - - Simulates mouse movement to the specified location on the Virtual Desktop which includes all active displays. - - The destination's absolute X-coordinate on the virtual desktop where 0 is the left hand side of the virtual desktop and 65535 is the extreme right hand side of the virtual desktop. - The destination's absolute Y-coordinate on the virtual desktop where 0 is the top of the virtual desktop and 65535 is the bottom of the virtual desktop. - - - - Simulates a mouse left button down gesture. - - - - - Simulates a mouse left button up gesture. - - - - - Simulates a mouse left-click gesture. - - - - - Simulates a mouse left button double-click gesture. - - - - - Simulates a mouse right button down gesture. - - - - - Simulates a mouse right button up gesture. - - - - - Simulates a mouse right button click gesture. - - - - - Simulates a mouse right button double-click gesture. - - - - - Simulates a mouse X button down gesture. - - The button id. - - - - Simulates a mouse X button up gesture. - - The button id. - - - - Simulates a mouse X button click gesture. - - The button id. - - - - Simulates a mouse X button double-click gesture. - - The button id. - - - - Simulates mouse vertical wheel scroll gesture. - - The amount to scroll in clicks. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. - - - - Simulates a mouse horizontal wheel scroll gesture. Supported by Windows Vista and later. - - The amount to scroll in clicks. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The number of milliseconds to wait. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The time to wait. - - - - Gets the instance for simulating Keyboard input. - - The instance. - - - - References all of the Native Windows API methods for the WindowsInput functionality. - - - - - The GetAsyncKeyState function determines whether a key is up or down at the time the function is called, and whether the key was pressed after a previous call to GetAsyncKeyState. (See: http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx) - - Specifies one of 256 possible virtual-key codes. For more information, see Virtual Key Codes. Windows NT/2000/XP: You can use left- and right-distinguishing constants to specify certain keys. See the Remarks section for further information. - - If the function succeeds, the return value specifies whether the key was pressed since the last call to GetAsyncKeyState, and whether the key is currently up or down. If the most significant bit is set, the key is down, and if the least significant bit is set, the key was pressed after the previous call to GetAsyncKeyState. However, you should not rely on this last behavior; for more information, see the Remarks. - - Windows NT/2000/XP: The return value is zero for the following cases: - - The current desktop is not the active desktop - - The foreground thread belongs to another process and the desktop does not allow the hook or the journal record. - - Windows 95/98/Me: The return value is the global asynchronous key state for each virtual key. The system does not check which thread has the keyboard focus. - - Windows 95/98/Me: Windows 95 does not support the left- and right-distinguishing constants. If you call GetAsyncKeyState with these constants, the return value is zero. - - - The GetAsyncKeyState function works with mouse buttons. However, it checks on the state of the physical mouse buttons, not on the logical mouse buttons that the physical buttons are mapped to. For example, the call GetAsyncKeyState(VK_LBUTTON) always returns the state of the left physical mouse button, regardless of whether it is mapped to the left or right logical mouse button. You can determine the system's current mapping of physical mouse buttons to logical mouse buttons by calling - Copy CodeGetSystemMetrics(SM_SWAPBUTTON) which returns TRUE if the mouse buttons have been swapped. - - Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon. - - You can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the vKey parameter. This gives the state of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. - - Windows NT/2000/XP: You can use the following virtual-key code constants as values for vKey to distinguish between the left and right instances of those keys. - - Code Meaning - VK_LSHIFT Left-shift key. - VK_RSHIFT Right-shift key. - VK_LCONTROL Left-control key. - VK_RCONTROL Right-control key. - VK_LMENU Left-menu key. - VK_RMENU Right-menu key. - - These left- and right-distinguishing constants are only available when you call the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - The GetKeyState function retrieves the status of the specified virtual key. The status specifies whether the key is up, down, or toggled (on, off alternating each time the key is pressed). (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx) - - - Specifies a virtual key. If the desired virtual key is a letter or digit (A through Z, a through z, or 0 through 9), nVirtKey must be set to the ASCII value of that character. For other keys, it must be a virtual-key code. - If a non-English keyboard layout is used, virtual keys with values in the range ASCII A through Z and 0 through 9 are used to specify most of the character keys. For example, for the German keyboard layout, the virtual key of value ASCII O (0x4F) refers to the "o" key, whereas VK_OEM_1 refers to the "o with umlaut" key. - - - The return value specifies the status of the specified virtual key, as follows: - If the high-order bit is 1, the key is down; otherwise, it is up. - If the low-order bit is 1, the key is toggled. A key, such as the CAPS LOCK key, is toggled if it is turned on. The key is off and untoggled if the low-order bit is 0. A toggle key's indicator light (if any) on the keyboard will be on when the key is toggled, and off when the key is untoggled. - - - The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. - An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. - To retrieve state information for all the virtual keys, use the GetKeyboardState function. - An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. - VK_LSHIFT - VK_RSHIFT - VK_LCONTROL - VK_RCONTROL - VK_LMENU - VK_RMENU - - These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - The SendInput function synthesizes keystrokes, mouse motions, and button clicks. - - Number of structures in the Inputs array. - Pointer to an array of INPUT structures. Each structure represents an event to be inserted into the keyboard or mouse input stream. - Specifies the size, in bytes, of an INPUT structure. If cbSize is not the size of an INPUT structure, the function fails. - The function returns the number of events that it successfully inserted into the keyboard or mouse input stream. If the function returns zero, the input was already blocked by another thread. To get extended error information, call GetLastError.Microsoft Windows Vista. This function fails when it is blocked by User Interface Privilege Isolation (UIPI). Note that neither GetLastError nor the return value will indicate the failure was caused by UIPI blocking. - - Microsoft Windows Vista. This function is subject to UIPI. Applications are permitted to inject input only into applications that are at an equal or lesser integrity level. - The SendInput function inserts the events in the INPUT structures serially into the keyboard or mouse input stream. These events are not interspersed with other keyboard or mouse input events inserted either by the user (with the keyboard or mouse) or by calls to keybd_event, mouse_event, or other calls to SendInput. - This function does not reset the keyboard's current state. Any keys that are already pressed when the function is called might interfere with the events that this function generates. To avoid this problem, check the keyboard's state with the GetAsyncKeyState function and correct as necessary. - - - - - The GetMessageExtraInfo function retrieves the extra message information for the current thread. Extra message information is an application- or driver-defined value associated with the current thread's message queue. - - - To set a thread's extra message information, use the SetMessageExtraInfo function. - - - - The HARDWAREINPUT structure contains information about a simulated message generated by an input device other than a keyboard or mouse. (see: http://msdn.microsoft.com/en-us/library/ms646269(VS.85).aspx) - Declared in Winuser.h, include Windows.h - - - - - Value specifying the message generated by the input hardware. - - - - - Specifies the low-order word of the lParam parameter for uMsg. - - - - - Specifies the high-order word of the lParam parameter for uMsg. - - - - - The contract for a service that interprets the state of input devices. - - - - - Determines whether the specified key is up or down. - - The for the key. - - true if the key is down; otherwise, false. - - - - - Determines whether the specified key is up or down. - - The for the key. - - true if the key is up; otherwise, false. - - - - - Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump. - - The for the key. - - true if the key is down; otherwise, false. - - - - - Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump. - - The for the key. - - true if the key is up; otherwise, false. - - - - - Determines whether the toggling key is toggled on (in-effect) or not. - - The for the key. - - true if the toggling key is toggled on (in-effect); otherwise, false. - - - - - The contract for a service that dispatches messages to the appropriate destination. - - - - - Dispatches the specified list of messages in their specified order. - - The list of messages to be dispatched. - If the array is empty. - If the array is null. - If the any of the commands in the array could not be sent successfully. - - - - The service contract for a keyboard simulator for the Windows platform. - - - - - Simulates the key down gesture for the specified key. - - The for the key. - - - - Simulates the key press gesture for the specified key. - - The for the key. - - - - Simulates a key press for each of the specified key codes in the order they are specified. - - - - - - Simulates the key up gesture for the specified key. - - The for the key. - - - - Simulates a modified keystroke where there are multiple modifiers and multiple keys like CTRL-ALT-K-C where CTRL and ALT are the modifierKeys and K and C are the keys. - The flow is Modifiers KeyDown in order, Keys Press in order, Modifiers KeyUp in reverse order. - - The list of s for the modifier keys. - The list of s for the keys to simulate. - - - - Simulates a modified keystroke where there are multiple modifiers and one key like CTRL-ALT-C where CTRL and ALT are the modifierKeys and C is the key. - The flow is Modifiers KeyDown in order, Key Press, Modifiers KeyUp in reverse order. - - The list of s for the modifier keys. - The for the key. - - - - Simulates a modified keystroke where there is one modifier and multiple keys like CTRL-K-C where CTRL is the modifierKey and K and C are the keys. - The flow is Modifier KeyDown, Keys Press in order, Modifier KeyUp. - - The for the modifier key. - The list of s for the keys to simulate. - - - - Simulates a simple modified keystroke like CTRL-C where CTRL is the modifierKey and C is the key. - The flow is Modifier KeyDown, Key Press, Modifier KeyUp. - - The for the modifier key. - The for the key. - - - - Simulates uninterrupted text entry via the keyboard. - - The text to be simulated. - - - - Simulates a single character text entry via the keyboard. - - The unicode character to be simulated. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The number of milliseconds to wait. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The time to wait. - - - - Gets the instance for simulating Mouse input. - - The instance. - - - - The INPUT structure is used by SendInput to store information for synthesizing input events such as keystrokes, mouse movement, and mouse clicks. (see: http://msdn.microsoft.com/en-us/library/ms646270(VS.85).aspx) - Declared in Winuser.h, include Windows.h - - - This structure contains information identical to that used in the parameter list of the keybd_event or mouse_event function. - Windows 2000/XP: INPUT_KEYBOARD supports nonkeyboard input methods, such as handwriting recognition or voice recognition, as if it were text input by using the KEYEVENTF_UNICODE flag. For more information, see the remarks section of KEYBDINPUT. - - - - - Specifies the type of the input event. This member can be one of the following values. - - The event is a mouse event. Use the mi structure of the union. - - The event is a keyboard event. Use the ki structure of the union. - - Windows 95/98/Me: The event is from input hardware other than a keyboard or mouse. Use the hi structure of the union. - - - - - The data structure that contains information about the simulated Mouse, Keyboard or Hardware event. - - - - - A helper class for building a list of messages ready to be sent to the native Windows API. - - - - - The public list of messages being built by this instance. - - - - - Initializes a new instance of the class. - - - - - Returns the list of messages as a of messages. - - The of messages. - - - - Returns an enumerator that iterates through the list of messages. - - - A that can be used to iterate through the list of messages. - - 1 - - - - Returns an enumerator that iterates through the list of messages. - - - An object that can be used to iterate through the list of messages. - - 2 - - - - Determines if the is an ExtendedKey - - The key code. - true if the key code is an extended key; otherwise, false. - - The extended keys consist of the ALT and CTRL keys on the right-hand side of the keyboard; the INS, DEL, HOME, END, PAGE UP, PAGE DOWN, and arrow keys in the clusters to the left of the numeric keypad; the NUM LOCK key; the BREAK (CTRL+PAUSE) key; the PRINT SCRN key; and the divide (/) and ENTER keys in the numeric keypad. - - See http://msdn.microsoft.com/en-us/library/ms646267(v=vs.85).aspx Section "Extended-Key Flag" - - - - - Adds a key down to the list of messages. - - The . - This instance. - - - - Adds a key up to the list of messages. - - The . - This instance. - - - - Adds a key press to the list of messages which is equivalent to a key down followed by a key up. - - The . - This instance. - - - - Adds the character to the list of messages. - - The to be added to the list of messages. - This instance. - - - - Adds all of the characters in the specified of . - - The characters to add. - This instance. - - - - Adds the characters in the specified . - - The string of to add. - This instance. - - - - Moves the mouse relative to its current position. - - - - This instance. - - - - Move the mouse to an absolute position. - - - - This instance. - - - - Move the mouse to the absolute position on the virtual desktop. - - - - This instance. - - - - Adds a mouse button down for the specified button. - - - This instance. - - - - Adds a mouse button down for the specified button. - - - This instance. - - - - Adds a mouse button up for the specified button. - - - This instance. - - - - Adds a mouse button up for the specified button. - - - This instance. - - - - Adds a single click of the specified button. - - - This instance. - - - - Adds a single click of the specified button. - - - This instance. - - - - Adds a double click of the specified button. - - - This instance. - - - - Adds a double click of the specified button. - - - This instance. - - - - Scroll the vertical mouse wheel by the specified amount. - - - This instance. - - - - Scroll the horizontal mouse wheel by the specified amount. - - - This instance. - - - - Gets the at the specified position. - - The message at the specified position. - - - - Implements the interface by calling the an to simulate Keyboard gestures. - - - - - The instance of the to use for dispatching messages. - - - - - Initializes a new instance of the class using an instance of a for dispatching messages. - - The that owns this instance. - - - - Initializes a new instance of the class using the specified for dispatching messages. - - The that owns this instance. - The to use for dispatching messages. - If null is passed as the . - - - - Sends the list of messages using the instance. - - The of messages to send. - - - - Calls the Win32 SendInput method to simulate a KeyDown. - - The to press - - - - Calls the Win32 SendInput method to simulate a KeyUp. - - The to lift up - - - - Calls the Win32 SendInput method with a KeyDown and KeyUp message in the same input sequence in order to simulate a Key PRESS. - - The to press - - - - Simulates a key press for each of the specified key codes in the order they are specified. - - - - - - Simulates a simple modified keystroke like CTRL-C where CTRL is the modifierKey and C is the key. - The flow is Modifier KeyDown, Key Press, Modifier KeyUp. - - The modifier key - The key to simulate - - - - Simulates a modified keystroke where there are multiple modifiers and one key like CTRL-ALT-C where CTRL and ALT are the modifierKeys and C is the key. - The flow is Modifiers KeyDown in order, Key Press, Modifiers KeyUp in reverse order. - - The list of modifier keys - The key to simulate - - - - Simulates a modified keystroke where there is one modifier and multiple keys like CTRL-K-C where CTRL is the modifierKey and K and C are the keys. - The flow is Modifier KeyDown, Keys Press in order, Modifier KeyUp. - - The modifier key - The list of keys to simulate - - - - Simulates a modified keystroke where there are multiple modifiers and multiple keys like CTRL-ALT-K-C where CTRL and ALT are the modifierKeys and K and C are the keys. - The flow is Modifiers KeyDown in order, Keys Press in order, Modifiers KeyUp in reverse order. - - The list of modifier keys - The list of keys to simulate - - - - Calls the Win32 SendInput method with a stream of KeyDown and KeyUp messages in order to simulate uninterrupted text entry via the keyboard. - - The text to be simulated. - - - - Simulates a single character text entry via the keyboard. - - The unicode character to be simulated. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The number of milliseconds to wait. - - - - Sleeps the executing thread to create a pause between simulated inputs. - - The time to wait. - - - - Gets the instance for simulating Mouse input. - - The instance. - - - - Specifies the type of the input event. This member can be one of the following values. - - - - - INPUT_MOUSE = 0x00 (The event is a mouse event. Use the mi structure of the union.) - - - - - INPUT_KEYBOARD = 0x01 (The event is a keyboard event. Use the ki structure of the union.) - - - - - INPUT_HARDWARE = 0x02 (Windows 95/98/Me: The event is from input hardware other than a keyboard or mouse. Use the hi structure of the union.) - - - - - The KEYBDINPUT structure contains information about a simulated keyboard event. (see: http://msdn.microsoft.com/en-us/library/ms646271(VS.85).aspx) - Declared in Winuser.h, include Windows.h - - - Windows 2000/XP: INPUT_KEYBOARD supports nonkeyboard-input methods—such as handwriting recognition or voice recognition—as if it were text input by using the KEYEVENTF_UNICODE flag. If KEYEVENTF_UNICODE is specified, SendInput sends a WM_KEYDOWN or WM_KEYUP message to the foreground thread's message queue with wParam equal to VK_PACKET. Once GetMessage or PeekMessage obtains this message, passing the message to TranslateMessage posts a WM_CHAR message with the Unicode character originally specified by wScan. This Unicode character will automatically be converted to the appropriate ANSI value if it is posted to an ANSI window. - Windows 2000/XP: Set the KEYEVENTF_SCANCODE flag to define keyboard input in terms of the scan code. This is useful to simulate a physical keystroke regardless of which keyboard is currently being used. The virtual key value of a key may alter depending on the current keyboard layout or what other keys were pressed, but the scan code will always be the same. - - - - - Specifies a virtual-key code. The code must be a value in the range 1 to 254. The Winuser.h header file provides macro definitions (VK_*) for each value. If the dwFlags member specifies KEYEVENTF_UNICODE, wVk must be 0. - - - - - Specifies a hardware scan code for the key. If dwFlags specifies KEYEVENTF_UNICODE, wScan specifies a Unicode character which is to be sent to the foreground application. - - - - - Specifies various aspects of a keystroke. This member can be certain combinations of the following values. - KEYEVENTF_EXTENDEDKEY - If specified, the scan code was preceded by a prefix byte that has the value 0xE0 (224). - KEYEVENTF_KEYUP - If specified, the key is being released. If not specified, the key is being pressed. - KEYEVENTF_SCANCODE - If specified, wScan identifies the key and wVk is ignored. - KEYEVENTF_UNICODE - Windows 2000/XP: If specified, the system synthesizes a VK_PACKET keystroke. The wVk parameter must be zero. This flag can only be combined with the KEYEVENTF_KEYUP flag. For more information, see the Remarks section. - - - - - Time stamp for the event, in milliseconds. If this parameter is zero, the system will provide its own time stamp. - - - - - Specifies an additional value associated with the keystroke. Use the GetMessageExtraInfo function to obtain this information. - - - - - Specifies various aspects of a keystroke. This member can be certain combinations of the following values. - - - - - KEYEVENTF_EXTENDEDKEY = 0x0001 (If specified, the scan code was preceded by a prefix byte that has the value 0xE0 (224).) - - - - - KEYEVENTF_KEYUP = 0x0002 (If specified, the key is being released. If not specified, the key is being pressed.) - - - - - KEYEVENTF_UNICODE = 0x0004 (If specified, wScan identifies the key and wVk is ignored.) - - - - - KEYEVENTF_SCANCODE = 0x0008 (Windows 2000/XP: If specified, the system synthesizes a VK_PACKET keystroke. The wVk parameter must be zero. This flag can only be combined with the KEYEVENTF_KEYUP flag. For more information, see the Remarks section.) - - - - - The set of MouseFlags for use in the Flags property of the structure. (See: http://msdn.microsoft.com/en-us/library/ms646273(VS.85).aspx) - - - - - Specifies that movement occurred. - - - - - Specifies that the left button was pressed. - - - - - Specifies that the left button was released. - - - - - Specifies that the right button was pressed. - - - - - Specifies that the right button was released. - - - - - Specifies that the middle button was pressed. - - - - - Specifies that the middle button was released. - - - - - Windows 2000/XP: Specifies that an X button was pressed. - - - - - Windows 2000/XP: Specifies that an X button was released. - - - - - Windows NT/2000/XP: Specifies that the wheel was moved, if the mouse has a wheel. The amount of movement is specified in mouseData. - - - - - Specifies that the wheel was moved horizontally, if the mouse has a wheel. The amount of movement is specified in mouseData. Windows 2000/XP: Not supported. - - - - - Windows 2000/XP: Maps coordinates to the entire desktop. Must be used with MOUSEEVENTF_ABSOLUTE. - - - - - Specifies that the dx and dy members contain normalized absolute coordinates. If the flag is not set, dxand dy contain relative data (the change in position since the last reported position). This flag can be set, or not set, regardless of what kind of mouse or other pointing device, if any, is connected to the system. For further information about relative mouse motion, see the following Remarks section. - - - - - The MOUSEINPUT structure contains information about a simulated mouse event. (see: http://msdn.microsoft.com/en-us/library/ms646273(VS.85).aspx) - Declared in Winuser.h, include Windows.h - - - If the mouse has moved, indicated by MOUSEEVENTF_MOVE, dx and dy specify information about that movement. The information is specified as absolute or relative integer values. - If MOUSEEVENTF_ABSOLUTE value is specified, dx and dy contain normalized absolute coordinates between 0 and 65,535. The event procedure maps these coordinates onto the display surface. Coordinate (0,0) maps onto the upper-left corner of the display surface; coordinate (65535,65535) maps onto the lower-right corner. In a multimonitor system, the coordinates map to the primary monitor. - Windows 2000/XP: If MOUSEEVENTF_VIRTUALDESK is specified, the coordinates map to the entire virtual desktop. - If the MOUSEEVENTF_ABSOLUTE value is not specified, dx and dy specify movement relative to the previous mouse event (the last reported position). Positive values mean the mouse moved right (or down); negative values mean the mouse moved left (or up). - Relative mouse motion is subject to the effects of the mouse speed and the two-mouse threshold values. A user sets these three values with the Pointer Speed slider of the Control Panel's Mouse Properties sheet. You can obtain and set these values using the SystemParametersInfo function. - The system applies two tests to the specified relative mouse movement. If the specified distance along either the x or y axis is greater than the first mouse threshold value, and the mouse speed is not zero, the system doubles the distance. If the specified distance along either the x or y axis is greater than the second mouse threshold value, and the mouse speed is equal to two, the system doubles the distance that resulted from applying the first threshold test. It is thus possible for the system to multiply specified relative mouse movement along the x or y axis by up to four times. - - - - - Specifies the absolute position of the mouse, or the amount of motion since the last mouse event was generated, depending on the value of the dwFlags member. Absolute data is specified as the x coordinate of the mouse; relative data is specified as the number of pixels moved. - - - - - Specifies the absolute position of the mouse, or the amount of motion since the last mouse event was generated, depending on the value of the dwFlags member. Absolute data is specified as the y coordinate of the mouse; relative data is specified as the number of pixels moved. - - - - - If dwFlags contains MOUSEEVENTF_WHEEL, then mouseData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated forward, away from the user; a negative value indicates that the wheel was rotated backward, toward the user. One wheel click is defined as WHEEL_DELTA, which is 120. - Windows Vista: If dwFlags contains MOUSEEVENTF_HWHEEL, then dwData specifies the amount of wheel movement. A positive value indicates that the wheel was rotated to the right; a negative value indicates that the wheel was rotated to the left. One wheel click is defined as WHEEL_DELTA, which is 120. - Windows 2000/XP: IfdwFlags does not contain MOUSEEVENTF_WHEEL, MOUSEEVENTF_XDOWN, or MOUSEEVENTF_XUP, then mouseData should be zero. - If dwFlags contains MOUSEEVENTF_XDOWN or MOUSEEVENTF_XUP, then mouseData specifies which X buttons were pressed or released. This value may be any combination of the following flags. - - - - - A set of bit flags that specify various aspects of mouse motion and button clicks. The bits in this member can be any reasonable combination of the following values. - The bit flags that specify mouse button status are set to indicate changes in status, not ongoing conditions. For example, if the left mouse button is pressed and held down, MOUSEEVENTF_LEFTDOWN is set when the left button is first pressed, but not for subsequent motions. Similarly, MOUSEEVENTF_LEFTUP is set only when the button is first released. - You cannot specify both the MOUSEEVENTF_WHEEL flag and either MOUSEEVENTF_XDOWN or MOUSEEVENTF_XUP flags simultaneously in the dwFlags parameter, because they both require use of the mouseData field. - - - - - Time stamp for the event, in milliseconds. If this parameter is 0, the system will provide its own time stamp. - - - - - Specifies an additional value associated with the mouse event. An application calls GetMessageExtraInfo to obtain this extra information. - - - - - The combined/overlayed structure that includes Mouse, Keyboard and Hardware Input message data (see: http://msdn.microsoft.com/en-us/library/ms646270(VS.85).aspx) - - - - - The definition. - - - - - The definition. - - - - - The definition. - - - - - An implementation of for Windows by calling the native and methods. - - - - - Determines whether the specified key is up or down by calling the GetKeyState function. (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx) - - The for the key. - - true if the key is down; otherwise, false. - - - The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. - An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. - To retrieve state information for all the virtual keys, use the GetKeyboardState function. - An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for Bthe nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. - VK_LSHIFT - VK_RSHIFT - VK_LCONTROL - VK_RCONTROL - VK_LMENU - VK_RMENU - - These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - Determines whether the specified key is up or downby calling the function. (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx) - - The for the key. - - true if the key is up; otherwise, false. - - - The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. - An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. - To retrieve state information for all the virtual keys, use the GetKeyboardState function. - An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for Bthe nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. - VK_LSHIFT - VK_RSHIFT - VK_LCONTROL - VK_RCONTROL - VK_LMENU - VK_RMENU - - These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump by calling the function. (See: http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx) - - The for the key. - - true if the key is down; otherwise, false. - - - The GetAsyncKeyState function works with mouse buttons. However, it checks on the state of the physical mouse buttons, not on the logical mouse buttons that the physical buttons are mapped to. For example, the call GetAsyncKeyState(VK_LBUTTON) always returns the state of the left physical mouse button, regardless of whether it is mapped to the left or right logical mouse button. You can determine the system's current mapping of physical mouse buttons to logical mouse buttons by calling - Copy CodeGetSystemMetrics(SM_SWAPBUTTON) which returns TRUE if the mouse buttons have been swapped. - - Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon. - - You can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the vKey parameter. This gives the state of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. - - Windows NT/2000/XP: You can use the following virtual-key code constants as values for vKey to distinguish between the left and right instances of those keys. - - Code Meaning - VK_LSHIFT Left-shift key. - VK_RSHIFT Right-shift key. - VK_LCONTROL Left-control key. - VK_RCONTROL Right-control key. - VK_LMENU Left-menu key. - VK_RMENU Right-menu key. - - These left- and right-distinguishing constants are only available when you call the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - Determines whether the physical key is up or down at the time the function is called regardless of whether the application thread has read the keyboard event from the message pump by calling the function. (See: http://msdn.microsoft.com/en-us/library/ms646293(VS.85).aspx) - - The for the key. - - true if the key is up; otherwise, false. - - - The GetAsyncKeyState function works with mouse buttons. However, it checks on the state of the physical mouse buttons, not on the logical mouse buttons that the physical buttons are mapped to. For example, the call GetAsyncKeyState(VK_LBUTTON) always returns the state of the left physical mouse button, regardless of whether it is mapped to the left or right logical mouse button. You can determine the system's current mapping of physical mouse buttons to logical mouse buttons by calling - Copy CodeGetSystemMetrics(SM_SWAPBUTTON) which returns TRUE if the mouse buttons have been swapped. - - Although the least significant bit of the return value indicates whether the key has been pressed since the last query, due to the pre-emptive multitasking nature of Windows, another application can call GetAsyncKeyState and receive the "recently pressed" bit instead of your application. The behavior of the least significant bit of the return value is retained strictly for compatibility with 16-bit Windows applications (which are non-preemptive) and should not be relied upon. - - You can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the vKey parameter. This gives the state of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. - - Windows NT/2000/XP: You can use the following virtual-key code constants as values for vKey to distinguish between the left and right instances of those keys. - - Code Meaning - VK_LSHIFT Left-shift key. - VK_RSHIFT Right-shift key. - VK_LCONTROL Left-control key. - VK_RCONTROL Right-control key. - VK_LMENU Left-menu key. - VK_RMENU Right-menu key. - - These left- and right-distinguishing constants are only available when you call the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - Determines whether the toggling key is toggled on (in-effect) or not by calling the function. (See: http://msdn.microsoft.com/en-us/library/ms646301(VS.85).aspx) - - The for the key. - - true if the toggling key is toggled on (in-effect); otherwise, false. - - - The key status returned from this function changes as a thread reads key messages from its message queue. The status does not reflect the interrupt-level state associated with the hardware. Use the GetAsyncKeyState function to retrieve that information. - An application calls GetKeyState in response to a keyboard-input message. This function retrieves the state of the key when the input message was generated. - To retrieve state information for all the virtual keys, use the GetKeyboardState function. - An application can use the virtual-key code constants VK_SHIFT, VK_CONTROL, and VK_MENU as values for the nVirtKey parameter. This gives the status of the SHIFT, CTRL, or ALT keys without distinguishing between left and right. An application can also use the following virtual-key code constants as values for nVirtKey to distinguish between the left and right instances of those keys. - VK_LSHIFT - VK_RSHIFT - VK_LCONTROL - VK_RCONTROL - VK_LMENU - VK_RMENU - - These left- and right-distinguishing constants are available to an application only through the GetKeyboardState, SetKeyboardState, GetAsyncKeyState, GetKeyState, and MapVirtualKey functions. - - - - - Implements the by calling . - - - - - Dispatches the specified list of messages in their specified order by issuing a single called to . - - The list of messages to be dispatched. - If the array is empty. - If the array is null. - If the any of the commands in the array could not be sent successfully. - - - - The list of VirtualKeyCodes (see: http://msdn.microsoft.com/en-us/library/ms645540(VS.85).aspx) - - - - - Left mouse button - - - - - Right mouse button - - - - - Control-break processing - - - - - Middle mouse button (three-button mouse) - NOT contiguous with LBUTTON and RBUTTON - - - - - Windows 2000/XP: X1 mouse button - NOT contiguous with LBUTTON and RBUTTON - - - - - Windows 2000/XP: X2 mouse button - NOT contiguous with LBUTTON and RBUTTON - - - - - BACKSPACE key - - - - - TAB key - - - - - CLEAR key - - - - - ENTER key - - - - - SHIFT key - - - - - CTRL key - - - - - ALT key - - - - - PAUSE key - - - - - CAPS LOCK key - - - - - Input Method Editor (IME) Kana mode - - - - - IME Hanguel mode (maintained for compatibility; use HANGUL) - - - - - IME Hangul mode - - - - - IME Junja mode - - - - - IME final mode - - - - - IME Hanja mode - - - - - IME Kanji mode - - - - - ESC key - - - - - IME convert - - - - - IME nonconvert - - - - - IME accept - - - - - IME mode change request - - - - - SPACEBAR - - - - - PAGE UP key - - - - - PAGE DOWN key - - - - - END key - - - - - HOME key - - - - - LEFT ARROW key - - - - - UP ARROW key - - - - - RIGHT ARROW key - - - - - DOWN ARROW key - - - - - SELECT key - - - - - PRINT key - - - - - EXECUTE key - - - - - PRINT SCREEN key - - - - - INS key - - - - - DEL key - - - - - HELP key - - - - - 0 key - - - - - 1 key - - - - - 2 key - - - - - 3 key - - - - - 4 key - - - - - 5 key - - - - - 6 key - - - - - 7 key - - - - - 8 key - - - - - 9 key - - - - - A key - - - - - B key - - - - - C key - - - - - D key - - - - - E key - - - - - F key - - - - - G key - - - - - H key - - - - - I key - - - - - J key - - - - - K key - - - - - L key - - - - - M key - - - - - N key - - - - - O key - - - - - P key - - - - - Q key - - - - - R key - - - - - S key - - - - - T key - - - - - U key - - - - - V key - - - - - W key - - - - - X key - - - - - Y key - - - - - Z key - - - - - Left Windows key (Microsoft Natural keyboard) - - - - - Right Windows key (Natural keyboard) - - - - - Applications key (Natural keyboard) - - - - - Computer Sleep key - - - - - Numeric keypad 0 key - - - - - Numeric keypad 1 key - - - - - Numeric keypad 2 key - - - - - Numeric keypad 3 key - - - - - Numeric keypad 4 key - - - - - Numeric keypad 5 key - - - - - Numeric keypad 6 key - - - - - Numeric keypad 7 key - - - - - Numeric keypad 8 key - - - - - Numeric keypad 9 key - - - - - Multiply key - - - - - Add key - - - - - Separator key - - - - - Subtract key - - - - - Decimal key - - - - - Divide key - - - - - F1 key - - - - - F2 key - - - - - F3 key - - - - - F4 key - - - - - F5 key - - - - - F6 key - - - - - F7 key - - - - - F8 key - - - - - F9 key - - - - - F10 key - - - - - F11 key - - - - - F12 key - - - - - F13 key - - - - - F14 key - - - - - F15 key - - - - - F16 key - - - - - F17 key - - - - - F18 key - - - - - F19 key - - - - - F20 key - - - - - F21 key - - - - - F22 key - - - - - F23 key - - - - - F24 key - - - - - NUM LOCK key - - - - - SCROLL LOCK key - - - - - Left SHIFT key - Used only as parameters to GetAsyncKeyState() and GetKeyState() - - - - - Right SHIFT key - Used only as parameters to GetAsyncKeyState() and GetKeyState() - - - - - Left CONTROL key - Used only as parameters to GetAsyncKeyState() and GetKeyState() - - - - - Right CONTROL key - Used only as parameters to GetAsyncKeyState() and GetKeyState() - - - - - Left MENU key - Used only as parameters to GetAsyncKeyState() and GetKeyState() - - - - - Right MENU key - Used only as parameters to GetAsyncKeyState() and GetKeyState() - - - - - Windows 2000/XP: Browser Back key - - - - - Windows 2000/XP: Browser Forward key - - - - - Windows 2000/XP: Browser Refresh key - - - - - Windows 2000/XP: Browser Stop key - - - - - Windows 2000/XP: Browser Search key - - - - - Windows 2000/XP: Browser Favorites key - - - - - Windows 2000/XP: Browser Start and Home key - - - - - Windows 2000/XP: Volume Mute key - - - - - Windows 2000/XP: Volume Down key - - - - - Windows 2000/XP: Volume Up key - - - - - Windows 2000/XP: Next Track key - - - - - Windows 2000/XP: Previous Track key - - - - - Windows 2000/XP: Stop Media key - - - - - Windows 2000/XP: Play/Pause Media key - - - - - Windows 2000/XP: Start Mail key - - - - - Windows 2000/XP: Select Media key - - - - - Windows 2000/XP: Start Application 1 key - - - - - Windows 2000/XP: Start Application 2 key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ';:' key - - - - - Windows 2000/XP: For any country/region, the '+' key - - - - - Windows 2000/XP: For any country/region, the ',' key - - - - - Windows 2000/XP: For any country/region, the '-' key - - - - - Windows 2000/XP: For any country/region, the '.' key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '/?' key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '`~' key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '[{' key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the '\|' key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the ']}' key - - - - - Used for miscellaneous characters; it can vary by keyboard. Windows 2000/XP: For the US standard keyboard, the 'single-quote/double-quote' key - - - - - Used for miscellaneous characters; it can vary by keyboard. - - - - - Windows 2000/XP: Either the angle bracket key or the backslash key on the RT 102-key keyboard - - - - - Windows 95/98/Me, Windows NT 4.0, Windows 2000/XP: IME PROCESS key - - - - - Windows 2000/XP: Used to pass Unicode characters as if they were keystrokes. The PACKET key is the low word of a 32-bit Virtual Key value used for non-keyboard input methods. For more information, see Remark in KEYBDINPUT, SendInput, WM_KEYDOWN, and WM_KEYUP - - - - - Attn key - - - - - CrSel key - - - - - ExSel key - - - - - Erase EOF key - - - - - Play key - - - - - Zoom key - - - - - Reserved - - - - - PA1 key - - - - - Clear key - - - - - XButton definitions for use in the MouseData property of the structure. (See: http://msdn.microsoft.com/en-us/library/ms646273(VS.85).aspx) - - - - - Set if the first X button is pressed or released. - - - - - Set if the second X button is pressed or released. - - - - diff --git a/Assets/WindowsInput.xml.meta b/Assets/WindowsInput.xml.meta deleted file mode 100644 index 59102ed..0000000 --- a/Assets/WindowsInput.xml.meta +++ /dev/null @@ -1,7 +0,0 @@ -fileFormatVersion: 2 -guid: 09423788d56242b48a6ac20dab41cb31 -TextScriptImporter: - externalObjects: {} - userData: - assetBundleName: - assetBundleVariant: diff --git a/UserSettings/Layouts/default-2021.dwlt b/UserSettings/Layouts/default-2021.dwlt index 36088ce..7e4d5ed 100644 --- a/UserSettings/Layouts/default-2021.dwlt +++ b/UserSettings/Layouts/default-2021.dwlt @@ -8,18 +8,18 @@ MonoBehaviour: m_PrefabAsset: {fileID: 0} m_GameObject: {fileID: 0} m_Enabled: 1 - m_EditorHideFlags: 1 + m_EditorHideFlags: 0 m_Script: {fileID: 12004, guid: 0000000000000000e000000000000000, type: 0} m_Name: m_EditorClassIdentifier: m_PixelRect: serializedVersion: 2 x: 0 - y: 43 - width: 1920 - height: 997 + y: 43.2 + width: 1536 + height: 820.8 m_ShowMode: 4 - m_Title: Inspector + m_Title: Project m_RootView: {fileID: 5} m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} @@ -40,9 +40,9 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 568 - width: 1920 - height: 379 + y: 461.6 + width: 1536 + height: 309.19998 m_MinSize: {x: 230, y: 271} m_MaxSize: {x: 10000, y: 10021} m_ActualView: {fileID: 13} @@ -70,12 +70,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 30 - width: 1920 - height: 947 + width: 1536 + height: 770.8 m_MinSize: {x: 300, y: 200} m_MaxSize: {x: 24288, y: 16192} vertical: 1 - controlID: 88 + controlID: 341 --- !u!114 &4 MonoBehaviour: m_ObjectHideFlags: 52 @@ -93,8 +93,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 302 - height: 568 + width: 247.2 + height: 461.6 m_MinSize: {x: 201, y: 221} m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 15} @@ -122,8 +122,8 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1920 - height: 997 + width: 1536 + height: 820.8 m_MinSize: {x: 875, y: 300} m_MaxSize: {x: 10000, y: 10000} m_UseTopView: 1 @@ -147,7 +147,7 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1920 + width: 1536 height: 30 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} @@ -172,12 +172,12 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 0 - width: 1920 - height: 568 + width: 1536 + height: 461.6 m_MinSize: {x: 300, y: 100} m_MaxSize: {x: 24288, y: 8096} vertical: 0 - controlID: 89 + controlID: 342 --- !u!114 &8 MonoBehaviour: m_ObjectHideFlags: 52 @@ -194,8 +194,8 @@ MonoBehaviour: m_Position: serializedVersion: 2 x: 0 - y: 977 - width: 1920 + y: 800.8 + width: 1536 height: 20 m_MinSize: {x: 0, y: 0} m_MaxSize: {x: 0, y: 0} @@ -214,10 +214,10 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 302 + x: 247.2 y: 0 - width: 1024 - height: 568 + width: 813.60004 + height: 461.6 m_MinSize: {x: 202, y: 221} m_MaxSize: {x: 4002, y: 4021} m_ActualView: {fileID: 14} @@ -241,12 +241,12 @@ MonoBehaviour: m_Children: [] m_Position: serializedVersion: 2 - x: 1326 + x: 1060.8 y: 0 - width: 594 - height: 568 - m_MinSize: {x: 275, y: 50} - m_MaxSize: {x: 4000, y: 4000} + width: 475.19995 + height: 461.6 + m_MinSize: {x: 276, y: 71} + m_MaxSize: {x: 4001, y: 4021} m_ActualView: {fileID: 12} m_Panes: - {fileID: 12} @@ -268,15 +268,15 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Console - m_Image: {fileID: -4327648978806127646, guid: 0000000000000000d000000000000000, + m_Image: {fileID: -4950941429401207979, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 x: 0 - y: 641 - width: 1920 - height: 358 + y: 535.2 + width: 1536 + height: 288.19998 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -297,15 +297,15 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Inspector - m_Image: {fileID: -2667387946076563598, guid: 0000000000000000d000000000000000, + m_Image: {fileID: -440750813802333266, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 1326 - y: 73 - width: 593 - height: 547 + x: 1060.8 + y: 73.6 + width: 474.19995 + height: 440.6 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -317,7 +317,7 @@ MonoBehaviour: m_ControlHash: -371814159 m_PrefName: Preview_InspectorPreview m_LastInspectedObjectInstanceID: -1 - m_LastVerticalScrollValue: 414 + m_LastVerticalScrollValue: 0 m_GlobalObjectId: m_InspectorMode: 0 m_LockTracker: @@ -339,15 +339,15 @@ MonoBehaviour: m_MaxSize: {x: 10000, y: 10000} m_TitleContent: m_Text: Project - m_Image: {fileID: -5467254957812901981, guid: 0000000000000000d000000000000000, + m_Image: {fileID: -5179483145760003458, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 x: 0 - y: 641 - width: 1920 - height: 358 + y: 535.2 + width: 1536 + height: 288.19998 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -365,22 +365,22 @@ MonoBehaviour: m_SkipHidden: 0 m_SearchArea: 1 m_Folders: - - Assets/Script + - Assets m_Globs: [] m_OriginalText: m_ViewMode: 1 m_StartGridSize: 64 m_LastFolders: - - Assets/Script + - Assets m_LastFoldersGridSize: -1 - m_LastProjectPath: D:\folder to stuff stuff in\BuildingTest\WACVR + m_LastProjectPath: D:\WACCA\WACVR m_LockTracker: m_IsLocked: 0 m_FolderTreeState: - scrollPos: {x: 0, y: 0} - m_SelectedIDs: 98820000 - m_LastClickedID: 33432 - m_ExpandedIDs: 000000006082000000ca9a3bffffff7f + scrollPos: {x: 0, y: 3.8000183} + m_SelectedIDs: 046f0000 + m_LastClickedID: 28420 + m_ExpandedIDs: 00000000046f00000a6f00005a6f000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -408,7 +408,7 @@ MonoBehaviour: scrollPos: {x: 0, y: 0} m_SelectedIDs: m_LastClickedID: 0 - m_ExpandedIDs: 0000000060820000 + m_ExpandedIDs: 00000000046f000000ca9a3bffffff7f m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -480,15 +480,15 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Scene - m_Image: {fileID: 2593428753322112591, guid: 0000000000000000d000000000000000, + m_Image: {fileID: 8634526014445323508, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 302 - y: 73 - width: 1022 - height: 547 + x: 247.2 + y: 73.6 + width: 811.60004 + height: 440.6 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -499,7 +499,7 @@ MonoBehaviour: collapsed: 0 displayed: 1 snapOffset: {x: 0, y: 0} - snapOffsetDelta: {x: -101, y: -26} + snapOffsetDelta: {x: -100, y: -25.600006} snapCorner: 3 id: Tool Settings index: 0 @@ -509,9 +509,9 @@ MonoBehaviour: floating: 0 collapsed: 0 displayed: 1 - snapOffset: {x: 101, y: 0} + snapOffset: {x: -141, y: 149} snapOffsetDelta: {x: 0, y: 0} - snapCorner: 0 + snapCorner: 1 id: unity-grid-and-snap-toolbar index: 1 layout: 1 @@ -690,9 +690,9 @@ MonoBehaviour: m_PlayAudio: 0 m_AudioPlay: 0 m_Position: - m_Target: {x: 0.9459671, y: 0.34996235, z: 9.561394} + m_Target: {x: -0.23342612, y: 1.154188, z: -0.029027253} speed: 2 - m_Value: {x: 0.9459671, y: 0.34996235, z: 9.561394} + m_Value: {x: -0.23342612, y: 1.154188, z: -0.029027253} m_RenderMode: 0 m_CameraMode: drawMode: 0 @@ -739,13 +739,13 @@ MonoBehaviour: m_GridAxis: 1 m_gridOpacity: 0.5 m_Rotation: - m_Target: {x: 0.045547932, y: 0.046751417, z: -0.002087073, w: 0.997929} + m_Target: {x: 0.14618626, y: 0.061685134, z: -0.009133707, w: 0.98729026} speed: 2 - m_Value: {x: 0.045541864, y: 0.0482452, z: -0.0021552558, w: 0.99779445} + m_Value: {x: 0.14618619, y: 0.061685104, z: -0.009133702, w: 0.9872898} m_Size: - m_Target: 5.4043775 + m_Target: 0.19183554 speed: 2 - m_Value: 5.4043775 + m_Value: 0.19183554 m_Ortho: m_Target: 0 speed: 2 @@ -786,25 +786,25 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Hierarchy - m_Image: {fileID: 7966133145522015247, guid: 0000000000000000d000000000000000, + m_Image: {fileID: -3734745235275155857, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 x: 0 - y: 73 - width: 301 - height: 547 + y: 73.6 + width: 246.2 + height: 440.6 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default m_SaveData: [] m_SceneHierarchy: m_TreeViewState: - scrollPos: {x: 0, y: 3410} - m_SelectedIDs: c4760000 - m_LastClickedID: 30404 - m_ExpandedIDs: f0faffffc2730000ba750000 + scrollPos: {x: 0, y: 0} + m_SelectedIDs: 046f0000 + m_LastClickedID: 0 + m_ExpandedIDs: 76f8ffff2c730000607300002a740000ca760000c2780000 m_RenameOverlay: m_UserAcceptedRename: 0 m_Name: @@ -844,15 +844,15 @@ MonoBehaviour: m_MaxSize: {x: 4000, y: 4000} m_TitleContent: m_Text: Game - m_Image: {fileID: -6423792434712278376, guid: 0000000000000000d000000000000000, + m_Image: {fileID: 4621777727084837110, guid: 0000000000000000d000000000000000, type: 0} m_Tooltip: m_Pos: serializedVersion: 2 - x: 302 - y: 73 - width: 1022 - height: 547 + x: 241.6 + y: 73.6 + width: 817.2001 + height: 440.6 m_ViewDataDictionary: {fileID: 0} m_OverlayCanvas: m_LastAppliedPresetName: Default @@ -865,7 +865,7 @@ MonoBehaviour: m_ShowGizmos: 0 m_TargetDisplay: 0 m_ClearColor: {r: 0, g: 0, b: 0, a: 0} - m_TargetSize: {x: 1022, y: 526} + m_TargetSize: {x: 817.2001, y: 419.6} m_TextureFilterMode: 0 m_TextureHideFlags: 61 m_RenderIMGUI: 1 @@ -880,10 +880,10 @@ MonoBehaviour: m_VRangeLocked: 0 hZoomLockedByDefault: 0 vZoomLockedByDefault: 0 - m_HBaseRangeMin: -511 - m_HBaseRangeMax: 511 - m_VBaseRangeMin: -263 - m_VBaseRangeMax: 263 + m_HBaseRangeMin: -326.88004 + m_HBaseRangeMax: 326.88004 + m_VBaseRangeMin: -167.84001 + m_VBaseRangeMax: 167.84001 m_HAllowExceedBaseRangeMin: 1 m_HAllowExceedBaseRangeMax: 1 m_VAllowExceedBaseRangeMin: 1 @@ -901,23 +901,23 @@ MonoBehaviour: serializedVersion: 2 x: 0 y: 21 - width: 1022 - height: 526 + width: 817.2001 + height: 419.6 m_Scale: {x: 1, y: 1} - m_Translation: {x: 511, y: 263} + m_Translation: {x: 408.60004, y: 209.8} m_MarginLeft: 0 m_MarginRight: 0 m_MarginTop: 0 m_MarginBottom: 0 m_LastShownAreaInsideMargins: serializedVersion: 2 - x: -511 - y: -263 - width: 1022 - height: 526 + x: -408.60004 + y: -209.8 + width: 817.2001 + height: 419.6 m_MinimalGUI: 1 m_defaultScale: 1 - m_LastWindowPixelSize: {x: 1022, y: 547} + m_LastWindowPixelSize: {x: 1021.5001, y: 550.75} m_ClearInEditMode: 1 m_NoCameraWarning: 1 m_LowResolutionForAspectRatios: 01000000000000000000