From WikiChip
Difference between revisions of "mirc/on events/on keyup"
< mirc‎ | on events

m (Bot: adding missing title)
Line 3: Line 3:
  
 
This event fills the following identifiers:
 
This event fills the following identifiers:
<div style="background-color: rgba(0,0,0,.03); display: block;"><span style="border-right: 1px dashed rgba(0,0,0,.15); display: inline-block; margin-left: 35px; margin-right: 10px; width: 70px;">'''{{mIRC|$keyval}}'''</span>The [[unicode character|unicode character]] value of the key being released</div>
+
<div style="background-color: rgba(0,0,0,.03); display: block;"><span style="border-right: 1px dashed rgba(0,0,0,.15); display: inline-block; margin-left: 35px; margin-right: 10px; width: 70px;">'''{{mIRC|$keyval}}'''</span>The Windows keycode value of the key being released, see https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes for a list of keycodes</div>
  
<div style="background-color: rgba(0,0,0,.03); display: block;"><span style="border-right: 1px dashed rgba(0,0,0,.15); display: inline-block; margin-left: 35px; margin-right: 10px; width: 70px;">'''{{mIRC|$keychar}}'''</span>The actual character released</div>
+
<div style="background-color: rgba(0,0,0,.03); display: block;"><span style="border-right: 1px dashed rgba(0,0,0,.15); display: inline-block; margin-left: 35px; margin-right: 10px; width: 70px;">'''{{mIRC|$keychar}}'''</span>The actual character released, this is not useful and you should not be relying on this, it won't work when you needed two keypresses to get the character</div>
  
<div style="background-color: rgba(0,0,0,.03); display: block; margin-bottom: 10px;"><span style="border-right: 1px dashed rgba(0,0,0,.15); display: inline-block; margin-left: 35px; margin-right: 10px; width: 70px;">'''{{mIRC|$keyrpt}}'''</span>During this '''ON KEYUP''' event, the '''$keyrpt''' identifier always returns ''$true''</div>
+
<div style="background-color: rgba(0,0,0,.03); display: block; margin-bottom: 10px;"><span style="border-right: 1px dashed rgba(0,0,0,.15); display: inline-block; margin-left: 35px; margin-right: 10px; width: 70px;">'''{{mIRC|$keyrpt}}'''</span>it always returns ''$true''</div>
  
 
== Synopsis ==
 
== Synopsis ==
<pre>ON <level>:KEYUP:<@>:<key,...,keyN>:<commands></pre>
+
<pre>ON <level>:KEYUP:<@>:<keycode,...,keycodeN>:<commands></pre>
  
 
== Parameters ==
 
== Parameters ==
Line 17: Line 17:
 
<span style="display: inline-block; width: 105px;">'''<@>'''</span>The {{mirc|custom windows|custom window}} where this event should listen. Can be '''@''' for all windows.
 
<span style="display: inline-block; width: 105px;">'''<@>'''</span>The {{mirc|custom windows|custom window}} where this event should listen. Can be '''@''' for all windows.
  
<span style="display: inline-block; width: 105px;">'''<commands>'''</span>The specific key, or keys to listen for. Can specify multiple keys, such as:
+
<span style="display: inline-block; width: 105px;">'''<keycodes>'''</span>The specific key, or keys to listen for. Can specify multiple keys, such as:
 
<source lang="mIRC">ON *:KEYUP:@myWindow:38,42,55,78:echo -a $keyval</source>
 
<source lang="mIRC">ON *:KEYUP:@myWindow:38,42,55,78:echo -a $keyval</source>
  
Line 27: Line 27:
 
ON *:KEYUP:@myWindow:*: {
 
ON *:KEYUP:@myWindow:*: {
 
   clear @myWindow
 
   clear @myWindow
   drawtext @myWindow 1 3 3 Key value: $iif($keyval,$v1,NA)
+
   drawtext @myWindow 1 3 3 Keycode value: $iif($keyval,$v1,NA)
   drawtext @myWindow 1 3 25 Key character: $iif($keychar,$v1,NA)
+
   drawtext @myWindow 1 3 25 character: $iif($keychar,$v1,NA)
 
}</source>
 
}</source>
  

Revision as of 20:07, 22 January 2022

The ON KEYUP event is triggered when a key has been pressed, but subsequently released, inside of a custom @window.

This event fills the following identifiers:

$keyvalThe Windows keycode value of the key being released, see https://docs.microsoft.com/en-us/windows/win32/inputdev/virtual-key-codes for a list of keycodes
$keycharThe actual character released, this is not useful and you should not be relying on this, it won't work when you needed two keypresses to get the character
$keyrptit always returns $true

Synopsis

ON <level>:KEYUP:<@>:<keycode,...,keycodeN>:<commands>

Parameters

<level>The level for the event to trigger.

<@>The custom window where this event should listen. Can be @ for all windows.

<keycodes>The specific key, or keys to listen for. Can specify multiple keys, such as:

ON *:KEYUP:@myWindow:38,42,55,78:echo -a $keyval

Example

Create an alias that launches a custom, picture window which listens for key releases and displays the key value released, and the key character released:

alias keyUpTest {
  window -p $+ $iif($window(@myWindow),ra) @myWindow 550 300 250 83
}
ON *:KEYUP:@myWindow:*: {
  clear @myWindow
  drawtext @myWindow 1 3 3 Keycode value: $iif($keyval,$v1,NA)
  drawtext @myWindow 1 3 25 character: $iif($keychar,$v1,NA)
}

The following command can now be typed into any mIRC command prompt:

/keyUpTest

Below is an image reflecting what this example will look like:

This screenshot depicts the On Keyup event in mIRC.

Note that this makes use of a picture window, as well as the drawtext command. These types of windows and their tools can be very powerful in creating some amazing graphical layouts, as well as mIRC games.

Compatibility

Added: mIRC v5.8
Added on: 05 Sep 2000
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.


See Also