ID:1914345
 
Redundant
Applies to:DM Language
Status: Redundant

This feature has already been implemented, or is already achievable with existing methods.
GetAsyncKeystate (or GetAsyncKeystroke, I dont remember which) is a command in the Windows.h C++ library that takes one argument, the key. It returns a number stored as a short (the value of which is not really relevant) based on whether or not the key is pressed. This would allow keybinding other than the arrows, clicks, shift, and alt.

Examples (in C++):

bool bool1;
bool1 = GetAsyncKeystate(VK_LSHIFT); //Left shift
bool1 = GetAsyncKeystate(VK_LBUTTON); //LMB
bool1 = GetAsyncKeystate(0x41); //A key
bool1 = GetAsyncKeystate(0x42); //B key
bool1 = GetAsyncKeystate(0x43); //C key

Virtual Key Codes found here:
https://msdn.microsoft.com/en-us/library/windows/desktop/ dd375731(v=vs.85).aspx

Function info here:
https://msdn.microsoft.com/en-us/library/windows/desktop/ ms646293(v=vs.85).aspx
This would allow keybinding other than the arrows, clicks, shift, and alt.

We can already bind any key on the keyboard.
Lummox JR resolved issue (Redundant)
Macros already suffice for this purpose.
In response to Lummox JR
Ah, well for my benefit, could you please tell me what they are/give an example?
At their most basic, macros are a tool to be used with interface skins. They allow you to associate a verb with a keybind.

When working with a DME, you can opt to create an interface file by selecting file->new->Interface file (.dmf).

You can select a macro set to edit by double-clicking on the macro set in the skin file, or by creating a new macro set using the button at the right of the macro area:





You can then create new macros using the "New Macro..." button.



Macros will call the verb in the command bar when you press the button.

You can simply define these verbs under the client or /mob (I prefer client):

client
verb
KeyDown(key as text)
//do something


There's a bit more to it, but that's the gist of it.

You can read more about how to use them by taking a look at the skin reference and reading all of that material.