Methods
Keyboard
Keys
keyToggle and keyTap support for following keys.
Note: The names of the letter and number keys are the same as that single letter or digit. For example: b is the “b” key and 5 is the “5” key.
| Key | Description | Notes |
|---|---|---|
| backspace | ||
| delete | ||
| enter | ||
| tab | ||
| escape | ||
| up | Up arrow key | |
| down | Down arrow key | |
| right | Right arrow key | |
| left | Left arrow key | |
| home | ||
| end | ||
| pageup | ||
| pagedown | ||
| f1 | ||
| f2 | ||
| f3 | ||
| f4 | ||
| f5 | ||
| f6 | ||
| f7 | ||
| f8 | ||
| f9 | ||
| f10 | ||
| f11 | ||
| f12 | ||
| command | ||
| alt | ||
| control | ||
| shift | ||
| right_shift | ||
| space | ||
| printscreen | No Mac support | |
| insert | No Mac support | |
| audio_mute | Mute the volume | |
| audio_vol_down | Lower the volume | |
| audio_vol_up | Increase the volume | |
| audio_play | Play | |
| audio_stop | Stop | |
| audio_pause | Pause | |
| audio_prev | Previous Track | |
| audio_next | Next Track | |
| audio_rewind | Linux only | |
| audio_forward | Linux only | |
| audio_repeat | Linux only | |
| audio_random | Linux only | |
| numpad_0 | No Linux support | |
| numpad_1 | No Linux support | |
| numpad_2 | No Linux support | |
| numpad_3 | No Linux support | |
| numpad_4 | No Linux support | |
| numpad_5 | No Linux support | |
| numpad_6 | No Linux support | |
| numpad_7 | No Linux support | |
| numpad_8 | No Linux support | |
| numpad_9 | No Linux support | |
| lights_mon_up | Turn up monitor brightness | No Windows support |
| lights_mon_down | Turn down monitor brightness | No Windows support |
| lights_kbd_toggle | Toggle keyboard backlight on/off | No Windows support |
| lights_kbd_up | Turn up keyboard backlight brightness | No Windows support |
| lights_kbd_down | Turn down keyboard backlight brightness | No Windows support |
Up to date as of v0.4.4.
setKeyboardDelay(ms)
Sets the delay in milliseconds to sleep after a keyboard event. This is 10ms by default.
Arguments
| Argument | Description | Default |
|---|---|---|
ms |
Time to sleep in milliseconds. | None |
keyTap(key, [modifier])
Press a single key.
Arguments
| Argument | Description | Default |
|---|---|---|
key |
See keys. | None |
modifier |
String or an array. Accepts alt, command (win), control, and shift. | None |
keyToggle(key, down, [modifier])
Hold down or release a key.
Arguments
| Argument | Description | Default |
|---|---|---|
key |
See keys. | None |
down |
Accepts down or up. | None |
modifier |
String or an array. Accepts alt, command (mac), control, and shift. | None |
typeString(string)
Arguments
| Argument | Description | Default |
|---|---|---|
string |
The string to send. | None |
typeStringDelayed(string, cpm)
Arguments
| Argument | Description | Default |
|---|---|---|
string |
The string to send. | None |
cpm |
Characters per minute. | None |
Mouse
setMouseDelay(ms)
Sets the delay in milliseconds to sleep after a mouse event. This is 10ms by default.
Arguments
| Argument | Description | Default |
|---|---|---|
ms |
Time to sleep in milliseconds. | None |
moveMouse(x, y)
Moves mouse to x, y instantly, with the mouse button up.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
None | |
y |
None |
Examples
var robot = require("robotjs");
//Move the mouse to 100, 100 on the screen.
robot.moveMouse(100, 100);moveMouseSmooth(x, y, [speed])
Moves mouse to x, y human like, with the mouse button up.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
None | |
y |
None | |
speed |
Speed of the mousemovement in miliseconds. Between every movement, there will be a sleep of X miliseconds, where X is a random number between 1.0 and this variable. | 3.0 (ms) |
mouseClick([button], [double])
Clicks the mouse.
Arguments
| Argument | Description | Default |
|---|---|---|
button |
Accepts left, right, or middle. | left |
double |
Set to true to perform a double click. | false |
Examples
var robot = require("robotjs");
robot.mouseClick();mouseToggle([down], [button])
Toggles mouse button.
Arguments
| Argument | Description | Default |
|---|---|---|
down |
Accepts down or up. | down |
button |
Accepts left, right, or middle. | left |
Examples
var robot = require("robotjs");
robot.mouseToggle("down");
setTimeout(function()
{
robot.mouseToggle("up");
}, 2000);dragMouse(x, y)
Moves mouse to x, y instantly, with the mouse button held down.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
None | |
y |
None |
Examples
var robot = require("robotjs");
//Mouse down at 0, 0 and then drag to 100, 100 and release.
robot.moveMouse(0, 0);
robot.mouseToggle("down");
robot.dragMouse(100, 100);
robot.mouseToggle("up");getMousePos()
Gets the mouse coordinates.
Return
Returns an object with keys x and y.
Examples
var robot = require("robotjs");
var mouse = robot.getMousePos();
console.log("Mouse is at x:" + mouse.x + " y:" + mouse.y);scrollMouse(x, y)
Scrolls the mouse in any direction.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
The magnitude and direction of the scroll left and right. Left is negative. | None |
y |
The magnitude and direction of the scroll up and down. Down is negative. | None |
Examples
var robot = require("robotjs");
robot.scrollMouse(50, 0);
setTimeout(function()
{
robot.scrollMouse(50, 0);
}, 2000);Screen
getPixelColor(x, y)
Gets the pixel color at x, y. This function is perfect for getting a pixel or two, but if you’ll be reading large portions of the screen use screen.capture.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
None | |
y |
None |
Return
Returns the hex color code of the pixel at x, y.
getScreenSize()
Gets the screen width and height.
Return
Returns an object with .width and .height.
screen.capture([x], [y], [width], [height])
Gets part or all of the screen.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
0 | |
y |
0 | |
width |
Screen width | |
height |
Screen height |
If no arguments are provided, screen.capture will get the full screen.
Return
Returns a bitmap object.
Examples
For higher density screens (Macs) the resulting screen capture could be larger than the area requested. You can work around this by dividing the image size by the requested size. For example:
var size = 10;
var img = robot.screen.capture(0, 0, size, size);
// Support for higher density screens.
var multi = img.width / size;
// Get color at 2, 3.
var color = img.colorAt(2 * multi, 3 * multi);Bitmap
This is an object returned by screen.capture.
Properties
| Property | Description |
|---|---|
width |
The width of the bitmap. |
height |
The height of the bitmap. |
image |
The raw image (buffer). |
byteWidth |
|
bitsPerPixel |
|
bytesPerPixel |
colorAt
Gets the pixel color at x, y of a bitmap.
Arguments
| Argument | Description | Default |
|---|---|---|
x |
None | |
y |
None |
Return
Returns the hex color code of the pixel at x, y.
Examples
var robot = require("robotjs");
//Get a 100x100 screen capture starting at 0, 0.
var img = robot.screen.capture(0, 0, 100, 100);
console.log(img.width)
//Get pixel color at 50, 50.
var hex = img.colorAt(50, 50);
console.log(hex);