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

m
(See also)
 
(3 intermediate revisions by 2 users not shown)
Line 1: Line 1:
 
{{mirc title|$keyval identifier}}'''$keyval''' returns the key code of the key being pressed inside an {{mIRC|on keydown}} or {{mIRC|on keyup}} event.
 
{{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.
+
'''/!\''' This identifier is filled inside {{mirc|on char}} but this is mostly for convenience and is incorrect, inside {{mirc|on char}}, it only makes sense to check for {{mirc|$keychar}}
 +
 
 
== Synopsis ==
 
== Synopsis ==
 
<pre>$keyval</pre>
 
<pre>$keyval</pre>
Line 15: Line 16:
 
ON *:KEYDOWN:@myWindow:*: {
 
ON *:KEYDOWN:@myWindow:*: {
 
   clear @myWindow
 
   clear @myWindow
   drawtext @myWindow 1 3 3 Key value: $iif($keyval,$v1,NA)
+
   drawtext @myWindow 1 3 3 Key value: $keyval
  drawtext @myWindow 1 3 25 Key character: $iif($keychar,$v1,NA)
 
 
   drawtext @myWindow 1 3 47 @myWindow Repeating: $keyrpt
 
   drawtext @myWindow 1 3 47 @myWindow Repeating: $keyrpt
}</source>
+
}
 +
ON *:char:@myWindow:*: {
 +
drawtext @myWindow 1 3 25 Key character: $keychar
 +
}
 +
</source>
  
 
The following command can now be typed into any mIRC command prompt:
 
The following command can now be typed into any mIRC command prompt:
Line 33: Line 37:
  
 
== See also ==
 
== See also ==
* {{mirc|custom windows}}
 
* {{mirc|/drawtext}}
 
 
* {{mirc|on keyup}}
 
* {{mirc|on keyup}}
 +
* {{mirc|on keydown}}
 
* {{mirc|$keychar}}
 
* {{mirc|$keychar}}
 
* {{mirc|$keyrpt}}
 
* {{mirc|$keyrpt}}
 +
* {{mirc|$keylparam}}
 
* [[List of identifiers - mIRC]]
 
* [[List of identifiers - mIRC]]
 
{{mIRC identifier list}}
 
{{mIRC identifier list}}
 
[[Category:mIRC identifiers|keyval]]
 
[[Category:mIRC identifiers|keyval]]

Latest revision as of 14:42, 12 August 2022

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

/!\ This identifier is filled inside on char but this is mostly for convenience and is incorrect, inside on char, it only makes sense to check for $keychar

Synopsis[edit]

$keyval

Parameters[edit]

None

Example[edit]

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: $keyval
  drawtext @myWindow 1 3 47 @myWindow Repeating: $keyrpt
}
ON *:char:@myWindow:*: {
 drawtext @myWindow 1 3 25 Key character: $keychar
}

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[edit]

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[edit]

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