Macro recorders allow a user to record a sequence of user inputs for a computing device and assign the sequence of inputs to a single input key or button. This allows a user to play back the entire sequence of user inputs by pressing the assigned key or button. Macros find use in many different environments. For example, macros are often used in computer gaming environments to simplify play where a complex sequence of inputs used to perform action in the game is condensed into a macro executable by a single input.
Macro recorders generally utilize a graphical user interface that represents a sequence of commands entered by a user as a string of symbols and/or alphanumeric characters that represent the specific commands entered. Generally, the depression and release of a key are considered separate commands to a macro recorder. Therefore, existing macro software may graphically represent a key press and release by a key down event followed by a delay followed by a key up event (A↓10,A↑). Where there are many commands in the macro, this may make the graphical representation verbose and hard to read. Moreover, recording a new macro during game play or the like may currently call for a user to temporarily exit the game and record the macro using the graphical user interface, thereby disrupting the game playing experience.
Accordingly, the recording, playback, and visual representation of macros are disclosed below in the Detailed Description. For example, one disclosed embodiment comprises a computing device configured to receive a macro record command, to receive one or more input commands to be grouped as a macro, to display a representation of the one or more input commands in a first representation mode, to change the representation to a second representation mode based upon the one or more input commands, and to receive a macro stop record command.
This Summary is provided to introduce a selection of concepts in a simplified form that are further described below in the Detailed Description. This Summary is not intended to identify key features or essential features of the claimed subject matter, nor is it intended to be used to limit the scope of the claimed subject matter. Furthermore, the claimed subject matter is not limited to implementations that solve any or all disadvantages noted in any part of this disclosure.
Various embodiments are disclosed herein that relate to the recording, visual representation, and playback of macros. For example, some disclosed embodiments relate to the representation of keystrokes and other inputs made during the recording of a macro. Other disclosed embodiments relate to the recording of a macro via a macro record control on a computer mouse. Yet other embodiments may combine either or both of these concepts with other features.
Turning now to the figures,
Macro record button 120 is configured to activate a macro recorder on a computing device to allow a user to control the recording of a macro via the mouse. This allows a user to record a macro, for example, while playing a video game in a full screen mode without switching to a macro recorder user interface. Likewise, in various embodiments, a user can record a macro from within a user interface window on a display without selecting the macro record button 120. Furthermore, the macro recorder may be configured to display instructions (alphanumeric, symbolic, etc.) on LCD 110 during a macro recording process to walk a user through the recording process. Further, in some embodiments in which LCD 110 has a sufficiently large size, the commands that are grouped as the macro may be displayed on LCD 110 during recording. Mouse 100 may be additionally configured to display a visual indicator during macro recording that alerts the user when the macro record button 120 is in a recording mode. Such an indicator may be displayed via LCD 110, via a light (such as an LED) that illuminates the macro record button 120, or in any other suitable manner.
Using mouse 100 as an input device, a user may create a timed macro comprising keyboard key presses, mouse clicks, and mouse sensitivity changes, and may assign the macro to a specific mouse input or mouse button. This allows the macro to be played back whenever the specific mouse input or mouse button is pressed. The macro may also be assigned to a keyboard button, or any other suitable input. Further, in some embodiments, the recorded macro may be recorded and stored in such a manner that it may be shared with other users. In addition to the ability to record macros during game play, a macro recorder according to the present disclosure also may be used to record macros in a standard macro record mode using a user interface on a computing device display.
Continuing with
As indicated at 230, the representation of the one or more input commands on a user interface may change between a first representation mode and a second representation mode based upon a characteristic of the one or more input commands. For example, in some embodiments, the representation may change between a first representation mode and a second representation mode when multiple input commands overlap, whether partially or in a fully nested fashion. In this manner, a more compact representation mode may be used where there are no overlapping keystrokes, while a longer representation mode may be used to distinguish an order of overlapping commands where there are overlapping keystrokes. Examples of representation modes are described in more detail below.
The input commands that are grouped as the macro may include any suitable type of command. For example, the commands may include keyboard keystrokes, mouse movements, mouse button clicks, and/or changes in mouse movement sensitivity. Further, in some embodiments, the macro recorder may be configured to record mouse button inputs while excluding mouse position or movement input. This may allow a user to record a macro that includes mouse button inputs without having to hold the mouse still during the macro recording process.
It will be appreciated that other steps not shown in
Continuing with the Figures,
In some embodiments, one or more instructions may be displayed to a user on LCD 110 instructing a user how to perform a macro recording process. For example, symbolic instructions may be displayed on LCD 110 instructing a user which operations to perform during each step of a macro recording process. In one specific example, after the macro record button 120 is pressed, a mouse icon may be displayed on LCD 110 instructing the user to provide a specified mouse button (or other input) to assign the macro. Upon selection of the input to which the macro is assigned, another symbol may be displayed instructing a user to enter one or more commands to be grouped as the macro, and/or instructing a user to again push the macro record button 120 to end a recording process. In this manner, a macro recording process may be performed without displaying a user interface on a computing device display. This may allow macro recording to be performed during play of a video game or the like.
As mentioned above, a user may desire to record and play changes in mouse movement sensitivity via a macro. As an example, a user of mouse 100 may use the macro recording feature referred to in
One common example of such usage environments is a first person shooter game that involves both character movements and high-precision inputs such as use of a scoped rifle. A user may record a DPI setting change using mouse 100 by selecting macro record button 120 and then one or more DPI setting changes. In this way, DPI setting changes can be combined with other keyboard or mouse inputs, thus allowing a user to enjoy complex gaming actions with fewer real-time inputs. As a specific example, when using standard (non-macro) game inputs, a user may depress a J key on a keyboard to switch a gaming character to a scoped rifle, and once the character has the scoped rifle the user may switch mouse sensitivity via the DPI selection buttons on the mouse to aim the scoped rifle accurately. To simplify this input sequence, the user may record a macro including commands to depress the J key and to adjust mouse sensitivity. Further, the macro can be assigned to a mouse button so the user may play the macro by selecting the mouse button. Other embodiments may assign one or multiple macros to any suitable combination of mouse button actions and mouse input commands.
In some embodiments, the sensitivity setting of the mouse may be displayed on LCD 110 (or other mouse display).
Representations of multiple keystrokes can be even more verbose. For example, a representation of two keys that are pressed in an overlapping manner may include a “+” in between representations of each key. For example, if a user depressed a shift key and an A key in an overlapping manner, a macro representation may show the following: a symbolic representation of (1) a shift key, followed by (2) a down arrow, followed by (3) a time symbol with a subscript showing how many milliseconds (or other suitable unit of time) the shift key is depressed before the A key, followed by (4) a symbolic representation of an A key, followed by (5) a down arrow, followed by (6) a time symbol with a subscript showing how many milliseconds the keys are held down simultaneously until one is released, followed by (7) a representation of an A key, followed by (8) an up arrow, followed by (9) a time symbol with a subscript showing how many second pass between the release of the A key and the next event, followed by (10) a representation of a shift key, followed by (11) an up arrow. As can be seen, the representation of such a macro can become lengthy and difficult to read where the macro has a large number of commands and/or overlapping commands.
In light of this, embodiments of macro recorders according to the present disclosure may provide for a more concise representation of macro commands. Further, some embodiments may switch between two or more different representation modes to provide efficient yet precise representations of command strings for specific use cases.
Referring to
In some embodiments, a representation mode other than that shown in
During macro recording, the macro command representation mode may change between the first and second display modes when a first input command becomes overlapping with a second input command. For example, if a shift key is pressed and held for 10 milliseconds before an A key is pressed, the shift key press and hold may be represented on the user interface initially in the first, shorter representation mode. Then, upon depression of the A key while the shift key is still being held, the shift key representation may change to the second, longer representation, while the A key may be shown in the first, shorter representation.
In other situations with overlapping keystrokes, the second representation may be used to represent all keystrokes. This may occur, for example, with the use of partially overlapping keystrokes. For example,
The representations shown in
Additionally, computing device 800 may also have additional features/functionality. For example, device 800 may also include additional storage (removable and/or non-removable) including, but not limited to, magnetic or optical disks or tape. Such additional storage is illustrated in
Computing device 800 also includes one or more communication connections 814 that allow computing device 800 to communicate with other computers, applications, and/or devices 815. Device 800 may also have input device(s) 812 such as keyboard, mouse, pen, voice input device, touch input device, etc. Output device(s) 811 such as a display, speakers, printer, etc. may also be included. Additionally, some embodiments may include a computer-readable medium having computer-executable instructions for recording and representing a macro on a mouse input device, wherein the instructions perform a method as illustrated with reference to the present disclosure.
While disclosed herein in the context of a computing device with a mouse input device, it will be appreciated that the embodiments may also be used in other suitable devices that use a mouse as an input device.
It will further be understood that the configurations and/or approaches described herein are exemplary in nature, and that these specific embodiments or examples are not to be considered in a limiting sense, because numerous variations are possible. The specific routines or methods described herein may represent one or more of any number of processing strategies. As such, various acts illustrated may be performed in the sequence illustrated, in other sequences, in parallel, or in some cases omitted. Likewise, the order of any of the above-described processes is not necessarily required to achieve the features and/or results of the embodiments described herein, but is provided for ease of illustration and description.
The subject matter of the present disclosure includes all novel and nonobvious combinations and subcombinations of the various processes, systems and configurations, and other features, functions, acts, and/or properties disclosed herein, as well as any and all equivalents thereof.