From WikiChip
Difference between revisions of "mirc/identifiers/$keyval"
< mirc‎ | identifiers

m (Example)
m
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
The '''$keyval''' identifier is filled during an [[on keydown - mIRC|ON KEYDOWN]], or an [[on keyup - mIRC|ON KEYUP]] event inside of a [[custom windows - mIRC|custom @window]].
+
{{mirc title|$keyval identifier}}'''$keyval''' returns the key code of the key being pressed inside an {{mIRC|on keydown}} or {{mIRC|on keyup}} event.
 +
 
 +
This identifier is usually used over {{mIRC|$keychar}} because $keychar returns the character itself: this is unreliable, you can't track some keys such as alt, control, non-printable character etc, they don't have a character representation.
 +
 
  
 
== Synopsis ==
 
== Synopsis ==
Line 8: Line 11:
  
 
== Example ==
 
== Example ==
Create an alias that launches a custom, [[Picture Windows - mIRC|picture window]] which listens for key presses and displays the key value pressed, the key character pressed, and if it is repeating:
+
Create an alias that launches a custom, {{mirc|picture window}} which listens for key presses and displays the key value pressed, the key character pressed, and if it is repeating:
 
<source lang="mIRC">alias keyDownTest {
 
<source lang="mIRC">alias keyDownTest {
 
   window -p $+ $iif($window(@myWindow),ra) @myWindow 550 300 250 105
 
   window -p $+ $iif($window(@myWindow),ra) @myWindow 550 300 250 105
Line 26: Line 29:
 
[[File:Keyup event.png|This screenshot shows an example of the ON KEYDOWN event custom example.]]
 
[[File:Keyup event.png|This screenshot shows an example of the ON KEYDOWN event custom example.]]
  
Note that this makes use of a [[Picture Windows - mIRC|picture window]], as well as the [[/drawtext command - mIRC|drawtext command]]. These types of [[Picture Windows - mIRC|windows]] and their tools can be very powerful in creating some amazing graphical layouts, as well as mIRC games.
+
Note that this makes use of a {{mirc|picture window}}, as well as the {{mirc|/drawtext|drawtext command}}. These types of {{mirc|picture windows|windows}} and their tools can be very powerful in creating some amazing graphical layouts, as well as mIRC games.
  
 
== Compatibility ==
 
== Compatibility ==
Added: mIRC v5.5
+
{{mirc compatibility|5.5}}
08/01/99 - mIRC v5.5
 
Added On: 08/01/99
 
  
== See Also ==
+
== See also ==
* [[custom windows - mIRC|Custom Windows]]
+
* {{mirc|custom windows}}
* [[/drawtext command - mIRC|/drawtext]]
+
* {{mirc|/drawtext}}
* [[on keyup - mIRC|ON KEYUP]]
+
* {{mirc|on keyup}}
* [[$keychar identifier - mIRC|$keychar]]
+
* {{mirc|$keychar}}
* [[$keyrpt identifier - mIRC|$keyrpt]]
+
* {{mirc|$keyrpt}}
 +
* [[List of identifiers - mIRC]]
 +
{{mIRC identifier list}}
 +
[[Category:mIRC identifiers|keyval]]

Revision as of 07:45, 21 September 2017

$keyval returns the key code of the key being pressed inside an on keydown or on keyup event.

This identifier is usually used over $keychar because $keychar returns the character itself: this is unreliable, you can't track some keys such as alt, control, non-printable character etc, they don't have a character representation.


Synopsis

$keyval

Parameters

None

Example

Create an alias that launches a custom, picture window which listens for key presses and displays the key value pressed, the key character pressed, and if it is repeating:

alias keyDownTest {
  window -p $+ $iif($window(@myWindow),ra) @myWindow 550 300 250 105
}
ON *:KEYDOWN:@myWindow:*: {
  clear @myWindow
  drawtext @myWindow 1 3 3 Key value: $iif($keyval,$v1,NA)
  drawtext @myWindow 1 3 25 Key character: $iif($keychar,$v1,NA)
  drawtext @myWindow 1 3 47 @myWindow Repeating: $keyrpt
}

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

/keyDownTest

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

This screenshot shows an example of the ON KEYDOWN event custom example.

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.5
Added on: 08 Jan 1999
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.


See also

v · d · e mIRC identifier list

$ $$, $, $0, $1-, $!, $&, $*, $+, $++, $?

A $abook, $abs, $acos, $active, $activecid, $activewid, $adate, $address, $addtok, $addtokcs, $agent, $agentname, $agentstat, $agentver, $alias, $and, $anick, $ansi2mirc, $aop, $appactive, $appstate, $asc, $asctime, $asin, $atan, $atan2, $auto, $avoice, $away, $awaymsg, $awaytime

B $banlist, $banmask, $base, $beta, $bfind, $bindip, $bitoff, $biton, $bits, $bnick, $bvar, $bytes

C $calc, $caller, $cancel, $cb, $cd, $ceil, $chan, $chanmodes, $channel, $chantypes, $chat, $chr, $cid, $clevel, $click, $cmdbox, $cmdline, $cnick, $color, $colour, $com, $comcall, $comchan, $comchar, $comerr, $compact, $compress, $comval, $cos, $cosh, $count, $countcs, $cr, $crc, $creq, $crlf, $ctime, $ctimer, $ctrlenter

D $date, $day, $daylight, $dbuh, $dbuw, $dccignore, $dccport, $dde, $ddename, $debug, $decode, $decompress, $deltok, $devent, $dialog, $did, $didreg, $didtok, $didwm, $dir, $disk, $dlevel, $dll, $dllcall, $dname, $dns, $donotdisturb, $dqwindow, $duration

E $ebeeps, $editbox, $email, $emailaddr, $encode, $envvar, $error, $eval, $evalnext, $event, $eventid, $eventparms, $exists, $exiting

F $false, $feof, $ferr, $fgetc, $file, $filename, $filtered, $find, $finddir, $finddirn, $findfile, $findfilen, $findtok, $findtokcs, $fline, $flinen, $floor, $font, $fopen, $fread, $fromeditbox, $fserv, $fserve, $fulladdress, $fulldate, $fullname, $fullscreen

G $get, $getdir, $getdot, $gettok, $gmt, $group

H $halted, $hash, $height, $hfile, $hfind, $hget, $highlight, $hmac $hmatch, $hnick, $host, $hotline, $hotlinepos, $hotlink, $hotp, $hregex, $hypot

I $iaddress, $ial, $ialchan, $ibl, $idle, $iel, $ifmatch, $ifmatch2, $ignore, $iif, $iil, $inellipse, $ini, $initopic, $inmidi, $inmode, $inmp3, $inpaste, $inpoly, $input, $inrect, $inroundrect, $insong, $insongpause, $instok, $int, $intersect, $inwave, $inwho, $ip, $iptype, $iql, $isadmin, $isalias, $isbit, $isdde, $isdir, $isfile, $isid, $islower, $istok, $istokcs, $isupper, $isutf

K $keychar, $keyrpt, $keyval, $knick

L $lactive, $lactivecid, $lactivewid, $left, $leftwin, $leftwincid, $leftwinwid, $len, $level, $lf, $line, $lines, $link, $lock, $locked, $lof, $log, $log10, $logdir, $logstamp, $logstampfmt, $longfn, $longip, $lower, $ltimer

M $maddress, $mask, $matchkey, $matchtok, $matchtokcs, $maxlenl, $maxlenm, $maxlens, $md5, $me, $menu, $menubar, $menucontext, $menutype, $mid, $mididir, $mircdir, $mircexe, $mircini, $mkfn, $mklogfn, $mknickfn, $mnick, $mode, $modefirst, $modelast, $modespl, $mouse, $mousecx, $mousecy, $mousedx, $mousedy, $mousekey, $mouselb, $mousex, $mousey, $mousewin, $mp3, $mp3dir, $msfile, $msgstamp, $msgtags

N $N, $naddress, $network, $newnick, $nhnick, $nick, $nickmode, $no, $nofile, $nopath, $nopnick, $noqt, $not, $notags, $notify, $null, $numeric, $numtok, $nvnick

O $ok, $online, $onlineserver, $onlinetotal $onpoly, $opnick, $or, $ord, $os

P $parmN, $parms, $parseline, $parsetype, $parseutf, $passivedcc, $pi, $pic, $play, $pnick, $portable, $portfree, $pos, $poscs, $prefix, $prop, $protect, $puttok

Q $qt, $query

R $r, $raddress, $rand, $rands, $rawbytes, $rawmsg, $read, $readini, $readn, $regbr, $regerrstr, $regex, $regml, $regmlex, $regsub, $regsubex, $remote, $remove, $removecs, $remtok, $remtokcs, $replace, $replacecs, $replacex, $replacexcs, $reptok, $reptokcs, $result, $rgb, $right, $rnick, $round

S $samepath, $scid, $scon, $script, $scriptdir, $scriptline, $sdir, $send, $server, $serverip, $servertarget, $sfile, $sha1, $sha256, $sha384, $sha512, $shortfn, $show, $signal, $sin, $sinh, $site, $sline, $snick, $snicks, $snotify, $sock, $sockbr, $sockerr, $sockname, $sorttok, $sorttokcs, $sound, $speak, $sqrt, $sreq, $ssl, $sslcertsha1, $sslcertsha256, $sslcertvalid, $ssldll, $ssllibdll, $sslready, $sslversion, $starting, $status, $str, $strip, $stripped, $style, $submenu, $switchbar, $sysdir

T $tan, $tanh, $target, $tempfn, $ticks, $time, $timeout, $timer, $timestamp, $timestampfmt, $timezone, $tip, $tips, $titlebar, $token, $toolbar, $topic, $totp, $treebar, $true, $trust

U $ulevel, $ulist, $unsafe, $upper, $uptime, $url, $usermode, $utfdecode, $utfencode

V $v1, $v2, $var, $vc, $vcmd, $vcmdstat, $vcmdver, $version, $vnick, $vol

W $wavedir, $wid, $width, $wildsite, $wildtok, $wildtokcs, $window, $wrap

X $xor

Y $yes

Z $zip

= =$nick