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

(Created page with "{{mirc title|$mouse Identifier}}'''$mouse''' returns informations about the mouse and its buttons == Synopsis == <pre>$mouse</pre> == Paramters == None == Properties == Th...")
 
 
(2 intermediate revisions by one other user not shown)
Line 9: Line 9:
  
 
== Properties ==
 
== Properties ==
This identifier uniquely takes no parameter but has properties, it is not possible to use such syntax for custom identifier, $myalias.prop would just call the alias named "$myalias.prop"
+
This identifier almost uniquely takes no parameter but has properties ({{mIRC|$insong}} and the like also have this), it is not possible to use such syntax for custom identifier, $myalias.prop would just call the alias named "$myalias.prop"
  
 
* '''.x and .y''' - returns the position of the mouse relative to the active window
 
* '''.x and .y''' - returns the position of the mouse relative to the active window
Line 18: Line 18:
 
* '''.lb''' - returns $true if a mouse event occured over a listbox, $false otherwise.
 
* '''.lb''' - returns $true if a mouse event occured over a listbox, $false otherwise.
 
* '''.key''' - Returns a bitmask, you can use the bitwise & operator to check for button/shift/alt/control state:
 
* '''.key''' - Returns a bitmask, you can use the bitwise & operator to check for button/shift/alt/control state:
** if ($mouse.key & 1) echo left button is pressed.
+
** if ($mouse.key & 1) echo left mouse button is pressed.
 
** if ($mouse.key & 2) echo control key is pressed.
 
** if ($mouse.key & 2) echo control key is pressed.
** if ($mouse.key & 4) echo shift key is pressed.
+
** if ($mouse.key & 4) echo either left-or-right shift key is pressed.
** if ($mouse.key & 8) echo alt key is pressed.
+
** if ($mouse.key & 8) echo either alt key is pressed.
 
** if ($mouse.key & 16) echo right mouse button is pressed.
 
** if ($mouse.key & 16) echo right mouse button is pressed.
 
+
** if ($mouse.key & 32) echo middle mouse button is pressed.
 +
** if ($mouse.key & 64) echo right shift key is pressed.
 +
** if ($mouse.key & 128) echo right control key is pressed.
 +
** if ($mouse.key & 256) echo right alt key is pressed.
 +
** if ($mouse.key & 512) echo capslock is enabled.
 +
** if ($mouse.key & 1024) echo scroll lock is enabled.
 +
** if ($mouse.key & 2048) echo numlock lock is enabled.
 +
** if ($mouse.key & 4096) echo left shift key is pressed.
 +
** if ($mouse.key & 8192) echo left control key is pressed.
 +
** if ($mouse.key & 16384) echo left alt key is pressed.
  
 
== Example ==
 
== Example ==
 
<source lang="mIRC">//echo -a $mouse.x</source>
 
<source lang="mIRC">//echo -a $mouse.x</source>
 +
 +
== Notes ==
 +
 +
Pressing any of the Ctrl or Alt or Shift keys causes 2 of the above masks to be non-zero, so pressing the right-shift enables both the 4 and 64 bit masks. You can check if the right-shift IS pressed and the left-shift is NOT pressed, by checking whether $and($mouse.key,$calc(4096+64)) == 64
  
 
== Compatibility ==
 
== Compatibility ==

Latest revision as of 13:15, 1 October 2022

$mouse returns informations about the mouse and its buttons


Synopsis[edit]

$mouse

Paramters[edit]

None

Properties[edit]

This identifier almost uniquely takes no parameter but has properties ($insong and the like also have this), it is not possible to use such syntax for custom identifier, $myalias.prop would just call the alias named "$myalias.prop"

  • .x and .y - returns the position of the mouse relative to the active window
  • .mx and .my - returns the position of the mouse relative to the main mIRC window
  • .dx and .dy - returns the position of the mouse relative to the desktop window
  • .cx and .cy - returns position relative to the primary monitor.
  • .win - returns the name of the active window
  • .lb - returns $true if a mouse event occured over a listbox, $false otherwise.
  • .key - Returns a bitmask, you can use the bitwise & operator to check for button/shift/alt/control state:
    • if ($mouse.key & 1) echo left mouse button is pressed.
    • if ($mouse.key & 2) echo control key is pressed.
    • if ($mouse.key & 4) echo either left-or-right shift key is pressed.
    • if ($mouse.key & 8) echo either alt key is pressed.
    • if ($mouse.key & 16) echo right mouse button is pressed.
    • if ($mouse.key & 32) echo middle mouse button is pressed.
    • if ($mouse.key & 64) echo right shift key is pressed.
    • if ($mouse.key & 128) echo right control key is pressed.
    • if ($mouse.key & 256) echo right alt key is pressed.
    • if ($mouse.key & 512) echo capslock is enabled.
    • if ($mouse.key & 1024) echo scroll lock is enabled.
    • if ($mouse.key & 2048) echo numlock lock is enabled.
    • if ($mouse.key & 4096) echo left shift key is pressed.
    • if ($mouse.key & 8192) echo left control key is pressed.
    • if ($mouse.key & 16384) echo left alt key is pressed.

Example[edit]

//echo -a $mouse.x

Notes[edit]

Pressing any of the Ctrl or Alt or Shift keys causes 2 of the above masks to be non-zero, so pressing the right-shift enables both the 4 and 64 bit masks. You can check if the right-shift IS pressed and the left-shift is NOT pressed, by checking whether $and($mouse.key,$calc(4096+64)) == 64

Compatibility[edit]

Added: mIRC v5.3
Added on: 13 Dec 1997
Note: Unless otherwise stated, this was the date of original functionality.
Further enhancements may have been made in later versions.


See Also[edit]

$click