mouse man page on Plan9

Man page or keyword search:  
man Server   549 pages
apropos Keyword Search (all sections)
Output format
Plan9 logo
[printable version]

MOUSE(3)							      MOUSE(3)

NAME
       mouse, cursor - kernel mouse interface

SYNOPSIS
       bind -a #m /dev

       /dev/mouse
       /dev/mousein
       /dev/mousectl
       /dev/cursor

DESCRIPTION
       The  mouse  device provides an interface to the mouse.  There is also a
       cursor associated with the screen; it is always displayed at  the  cur‐
       rent mouse position.

       Reading	the mouse file returns the mouse status: its position and but‐
       ton state.  The read blocks until the state has changed since the  last
       read.  The read returns 49 bytes: the letter m followed by four decimal
       strings, each 11 characters wide followed by a blank: x and y,  coordi‐
       nates  of  the  mouse  position in the screen image; buttons, a bitmask
       with the 1, 2, and 4 bits set when the mouse's left, middle, and	 right
       buttons,	 respectively,	are  down; and msec, a time stamp, in units of
       milliseconds.

       Writing the mouse file, in the same format, causes the mouse cursor  to
       move  to	 the position specified by the x and y coordinates of the mes‐
       sage.  The buttons and msec fields are ignored and may be omitted.

       Writes to the mousein file are processed as if they were	 generated  by
       the  mouse  hardware  itself, as extra mouse events to be processed and
       passed back via the mouse file.	The mousein file, which may be	opened
       only  by	 the  host owner, is intended for controlling devices, such as
       USB mice, that are managed by user-level software.  Each	 event	should
       consist	of  the	 letter m followed by delta x, delta y, and buttons as
       space-separated decimal numbers.

       Writing to the mousectl file configures and controls  the  mouse.   The
       messages are:

       serial n
	      sets serial port n to be the mouse port.

       ps2    sets the PS2 port to be the mouse port.

       intellimouse
	      uses the wheel on a Microsoft Intellimouse as the middle button.

       ps2intellimouse
	      is  equivalent  to  a write of ps2 followed by a write of intel‐
	      limouse.

       accelerated [n]
	      turns on mouse acceleration.  N is an optional acceleration fac‐
	      tor.

       linear turns off mouse acceleration.

       res n  sets mouse resolution to a setting between 0 and 3 inclusive.

       hwaccel on/off
	      sets  whether  acceleration is done in hardware or software.  By
	      default, PS2 mice use hardware and  serial  mice	use  software.
	      Some  laptops  (notably  the  IBM	 Thinkpad T23) don't implement
	      hardware acceleration for external mice.

       swap   swaps the left and right buttons on the mouse.

       buttonmap xyz
	      numbers the left, middle, and right mouse buttons x, y,  and  z,
	      respectively.  If xyz is omitted, the default map, 123, is used.
	      Thus in the default state writing buttonmap 321 swaps  left  and
	      right  buttons  and  writing  buttonmap  123  or	just buttonmap
	      restores their usual meaning.  Note that buttonmap messages  are
	      idempotent, unlike swap.

       reset  clears the mouse to its default state.

       Not  all	 mice  interpret  all messages; with some devices, some of the
       messages may be no-ops.

       Cursors are described in graphics(2).  When read or written from or  to
       the  cursor file, they are represented in a 72-byte binary format.  The
       first and second four bytes are little endian 32-bit numbers specifying
       the x and y coordinates of the cursor offset; the next 32 bytes are the
       clr bitmask, and the last 32 bytes the set bitmask.

       Reading from the cursor file returns the	 current  cursor  information.
       Writing	to  the	 cursor	 file  sets the current cursor information.  A
       write of fewer than 72 bytes sets the cursor to the default, an arrow.

       The mouse and cursor files are multiplexed by rio(1) to give the	 illu‐
       sion of a private mouse to each of its clients.	The semantics are oth‐
       erwise the same except that notification of a window resize  is	passed
       to  the	application using a mouse message beginning with r rather than
       m; see rio(4) for details.

       To cope with pointing devices with only two buttons, when the shift key
       is pressed, the right mouse button generates middle-button events.

SOURCE
       /sys/src/9/port/devmouse.c

SEE ALSO
       rio(4)

BUGS
       The  cursor  format is big endian while the rest of the graphics inter‐
       face is little endian.

								      MOUSE(3)
[top]
                             _         _         _ 
                            | |       | |       | |     
                            | |       | |       | |     
                         __ | | __ __ | | __ __ | | __  
                         \ \| |/ / \ \| |/ / \ \| |/ /  
                          \ \ / /   \ \ / /   \ \ / /   
                           \   /     \   /     \   /    
                            \_/       \_/       \_/ 
More information is available in HTML format for server Plan9

List of man pages available for Plan9

Copyright (c) for man pages and the logo by the respective OS vendor.

For those who want to learn more, the polarhome community provides shell access and support.

[legal] [privacy] [GNU] [policy] [cookies] [netiquette] [sponsors] [FAQ]
Tweet
Polarhome, production since 1999.
Member of Polarhome portal.
Based on Fawad Halim's script.
....................................................................
Vote for polarhome
Free Shell Accounts :: the biggest list on the net