adafruit_hid.keyboard.Keyboard¶
- Author(s): Scott Shawcroft, Dan Halbert
-
class
adafruit_hid.keyboard.Keyboard(devices)[source]¶ Send HID keyboard reports.
-
LED_CAPS_LOCK= 2¶ LED Usage ID for Caps Lock
-
LED_COMPOSE= 8¶ LED Usage ID for Compose
-
LED_NUM_LOCK= 1¶ LED Usage ID for Num Lock
-
LED_SCROLL_LOCK= 4¶ LED Usage ID for Scroll Lock
-
led_on(led_code)[source]¶ Returns whether an LED is on based on the led code
Examples:
import usb_hid from adafruit_hid.keyboard import Keyboard from adafruit_hid.keycode import Keycode import time # Initialize Keybaord kbd = Keyboard(usb_hid.devices) # Press and release CapsLock. kbd.press(Keycode.CAPS_LOCK) time.sleep(.09) kbd.release(Keycode.CAPS_LOCK) # Check status of the LED_CAPS_LOCK print(kbd.led_on(Keyboard.LED_CAPS_LOCK))
-
led_status¶ Returns the last received report
-
press(*keycodes)[source]¶ Send a report indicating that the given keys have been pressed.
Parameters: keycodes – Press these keycodes all at once. Raises: ValueError – if more than six regular keys are pressed. Keycodes may be modifiers or regular keys. No more than six regular keys may be pressed simultaneously.
Examples:
from adafruit_hid.keycode import Keycode # Press ctrl-x. kbd.press(Keycode.LEFT_CONTROL, Keycode.X) # Or, more conveniently, use the CONTROL alias for LEFT_CONTROL: kbd.press(Keycode.CONTROL, Keycode.X) # Press a, b, c keys all at once. kbd.press(Keycode.A, Keycode.B, Keycode.C)
-
adafruit_hid.keycode.Keycode¶
- Author(s): Scott Shawcroft, Dan Halbert
-
class
adafruit_hid.keycode.Keycode[source]¶ USB HID Keycode constants.
This list is modeled after the names for USB keycodes defined in https://usb.org/sites/default/files/hut1_21_0.pdf#page=83. This list does not include every single code, but does include all the keys on a regular PC or Mac keyboard.
Remember that keycodes are the names for key positions on a US keyboard, and may not correspond to the character that you mean to send if you want to emulate non-US keyboard. For instance, on a French keyboard (AZERTY instead of QWERTY), the keycode for ‘q’ is used to indicate an ‘a’. Likewise, ‘y’ represents ‘z’ on a German keyboard. This is historical: the idea was that the keycaps could be changed without changing the keycodes sent, so that different firmware was not needed for different variations of a keyboard.
-
A= 4¶ aandA
-
ALT= 226¶ Alias for LEFT_ALT; Alt is also known as Option (Mac)
-
APPLICATION= 101¶ Application: also known as the Menu key (Windows)
-
B= 5¶ bandB
-
BACKSLASH= 49¶ \and|
-
BACKSPACE= 42¶ Delete backward (Backspace)
-
C= 6¶ candC
-
CAPS_LOCK= 57¶ Caps Lock
-
COMMA= 54¶ ,and<
-
COMMAND= 227¶ Labeled as Command on Mac keyboards, with a clover glyph
-
CONTROL= 224¶ Alias for LEFT_CONTROL
-
D= 7¶ dandD
-
DELETE= 76¶ Delete forward
-
DOWN_ARROW= 81¶ Move the cursor down
-
E= 8¶ eandE
-
EIGHT= 37¶ 8and*
-
END= 77¶ End (often moves to end of line)
-
ENTER= 40¶ Enter (Return)
-
EQUALS= 46¶ =` and ``+
-
ESCAPE= 41¶ Escape
-
F= 9¶ fandF
-
F1= 58¶ Function key F1
-
F10= 67¶ Function key F10
-
F11= 68¶ Function key F11
-
F12= 69¶ Function key F12
-
F13= 104¶ Function key F13 (Mac)
-
F14= 105¶ Function key F14 (Mac)
-
F15= 106¶ Function key F15 (Mac)
-
F16= 107¶ Function key F16 (Mac)
-
F17= 108¶ Function key F17 (Mac)
-
F18= 109¶ Function key F18 (Mac)
-
F19= 110¶ Function key F19 (Mac)
-
F2= 59¶ Function key F2
-
F20= 111¶ Function key F20
-
F21= 112¶ Function key F21
-
F22= 113¶ Function key F22
-
F23= 114¶ Function key F23
-
F24= 115¶ Function key F24
-
F3= 60¶ Function key F3
-
F4= 61¶ Function key F4
-
F5= 62¶ Function key F5
-
F6= 63¶ Function key F6
-
F7= 64¶ Function key F7
-
F8= 65¶ Function key F8
-
F9= 66¶ Function key F9
-
FIVE= 34¶ 5and%
-
FORWARD_SLASH= 56¶ /and?
-
FOUR= 33¶ 4and$
-
G= 10¶ gandG
-
GRAVE_ACCENT= 53¶ `and~
-
GUI= 227¶ Alias for LEFT_GUI; GUI is also known as the Windows key, Command (Mac), or Meta
-
H= 11¶ handH
-
HOME= 74¶ Home (often moves to beginning of line)
-
I= 12¶ iandI
-
INSERT= 73¶ Insert
-
J= 13¶ jandJ
-
K= 14¶ kandK
-
KEYPAD_ASTERISK= 85¶ Keypad
*
-
KEYPAD_BACKSLASH= 100¶ Keypad
\and|(Non-US)
-
KEYPAD_EIGHT= 96¶ Keypad
8and Up Arrow
-
KEYPAD_ENTER= 88¶ Keypad Enter
-
KEYPAD_EQUALS= 103¶ Keypad
=(Mac)
-
KEYPAD_FIVE= 93¶ Keypad
5
-
KEYPAD_FORWARD_SLASH= 84¶ Keypad
/
-
KEYPAD_FOUR= 92¶ Keypad
4and Left Arrow
-
KEYPAD_MINUS= 86¶ Keyapd
-
-
KEYPAD_NINE= 97¶ Keypad
9and PgUp
-
KEYPAD_NUMLOCK= 83¶ Num Lock (Clear on Mac)
-
KEYPAD_ONE= 89¶ Keypad
1and End
-
KEYPAD_PERIOD= 99¶ Keypad
.and Del
-
KEYPAD_PLUS= 87¶ Keypad
+
-
KEYPAD_SEVEN= 95¶ Keypad
7and Home
-
KEYPAD_SIX= 94¶ Keypad
6and Right Arrow
-
KEYPAD_THREE= 91¶ Keypad
3and PgDn
-
KEYPAD_TWO= 90¶ Keypad
2and Down Arrow
-
KEYPAD_ZERO= 98¶ Keypad
0and Ins
-
L= 15¶ landL
-
LEFT_ALT= 226¶ Alt modifier left of the spacebar
-
LEFT_ARROW= 80¶ Move the cursor left
-
LEFT_BRACKET= 47¶ [and{
-
LEFT_CONTROL= 224¶ Control modifier left of the spacebar
-
LEFT_GUI= 227¶ GUI modifier left of the spacebar
-
LEFT_SHIFT= 225¶ Shift modifier left of the spacebar
-
M= 16¶ mandM
-
MINUS= 45¶ -` and ``_
-
N= 17¶ nandN
-
NINE= 38¶ 9and(
-
O= 18¶ oandO
-
ONE= 30¶ 1and!
-
OPTION= 226¶ Labeled as Option on some Mac keyboards
-
P= 19¶ pandP
-
PAGE_DOWN= 78¶ Go forward one page
-
PAGE_UP= 75¶ Go back one page
-
PAUSE= 72¶ Pause (Break)
-
PERIOD= 55¶ .and>
-
POUND= 50¶ #and~(Non-US keyboard)
-
POWER= 102¶ Power (Mac)
-
PRINT_SCREEN= 70¶ Print Screen (SysRq)
-
Q= 20¶ qandQ
-
QUOTE= 52¶ 'and"
-
R= 21¶ randR
-
RETURN= 40¶ Alias for
ENTER
-
RIGHT_ALT= 230¶ Alt modifier right of the spacebar
-
RIGHT_ARROW= 79¶ Move the cursor right
-
RIGHT_BRACKET= 48¶ ]and}
-
RIGHT_CONTROL= 228¶ Control modifier right of the spacebar
-
RIGHT_GUI= 231¶ GUI modifier right of the spacebar
-
RIGHT_SHIFT= 229¶ Shift modifier right of the spacebar
-
S= 22¶ sandS
-
SCROLL_LOCK= 71¶ Scroll Lock
-
SEMICOLON= 51¶ ;and:
-
SEVEN= 36¶ 7and&
-
SHIFT= 225¶ Alias for LEFT_SHIFT
-
SIX= 35¶ 6and^
-
SPACE= 44¶ Alias for SPACEBAR
-
SPACEBAR= 44¶ Spacebar
-
T= 23¶ tandT
-
TAB= 43¶ Tab and Backtab
-
THREE= 32¶ 3and#
-
TWO= 31¶ 2and@
-
U= 24¶ uandU
-
UP_ARROW= 82¶ Move the cursor up
-
V= 25¶ vandV
-
W= 26¶ wandW
-
WINDOWS= 227¶ Labeled with a Windows logo on Windows keyboards
-
X= 27¶ xandX
-
Y= 28¶ yandY
-
Z= 29¶ zandZ
-
ZERO= 39¶ 0and)
-
adafruit_hid.keyboard_layout_us.KeyboardLayoutUS¶
- Author(s): Dan Halbert
-
class
adafruit_hid.keyboard_layout_us.KeyboardLayoutUS(keyboard)[source]¶ Map ASCII characters to appropriate keypresses on a standard US PC keyboard.
Non-ASCII characters and most control characters will raise an exception.
-
keycodes(char)[source]¶ Return a tuple of keycodes needed to type the given character.
Parameters: char (str of length one.) – A single ASCII character in a string. Returns: tuple of Keycode keycodes. Raises: ValueError – if charis not ASCII or there is no keycode for it.Examples:
# Returns (Keycode.TAB,) keycodes(' ') # Returns (Keycode.A,) keycode('a') # Returns (Keycode.SHIFT, Keycode.A) keycode('A') # Raises ValueError because it's a accented e and is not ASCII keycode('é')
-
write(string)[source]¶ Type the string by pressing and releasing keys on my keyboard.
Parameters: string – A string of ASCII characters. Raises: ValueError – if any of the characters are not ASCII or have no keycode (such as some control characters). Example:
# Write abc followed by Enter to the keyboard layout.write('abc\n')
-
adafruit_hid.mouse.Mouse¶
- Author(s): Dan Halbert
-
class
adafruit_hid.mouse.Mouse(devices)[source]¶ Send USB HID mouse reports.
-
LEFT_BUTTON= 1¶ Left mouse button.
-
MIDDLE_BUTTON= 4¶ Middle mouse button.
-
RIGHT_BUTTON= 2¶ Right mouse button.
-
click(buttons)[source]¶ Press and release the given mouse buttons.
Parameters: buttons – a bitwise-or’d combination of LEFT_BUTTON,MIDDLE_BUTTON, andRIGHT_BUTTON.Examples:
# Click the left button. m.click(Mouse.LEFT_BUTTON) # Double-click the left button. m.click(Mouse.LEFT_BUTTON) m.click(Mouse.LEFT_BUTTON)
-
move(x=0, y=0, wheel=0)[source]¶ Move the mouse and turn the wheel as directed.
Parameters: - x – Move the mouse along the x axis. Negative is to the left, positive is to the right.
- y – Move the mouse along the y axis. Negative is upwards on the display, positive is downwards.
- wheel – Rotate the wheel this amount. Negative is toward the user, positive is away from the user. The scrolling effect depends on the host.
Examples:
# Move 100 to the left. Do not move up and down. Do not roll the scroll wheel. m.move(-100, 0, 0) # Same, with keyword arguments. m.move(x=-100) # Move diagonally to the upper right. m.move(50, 20) # Same. m.move(x=50, y=-20) # Roll the mouse wheel away from the user. m.move(wheel=1)
-
press(buttons)[source]¶ Press the given mouse buttons.
Parameters: buttons – a bitwise-or’d combination of LEFT_BUTTON,MIDDLE_BUTTON, andRIGHT_BUTTON.Examples:
# Press the left button. m.press(Mouse.LEFT_BUTTON) # Press the left and right buttons simultaneously. m.press(Mouse.LEFT_BUTTON | Mouse.RIGHT_BUTTON)
-
adafruit_hid.consumer_control.ConsumerControl¶
- Author(s): Dan Halbert
-
class
adafruit_hid.consumer_control.ConsumerControl(devices)[source]¶ Send ConsumerControl code reports, used by multimedia keyboards, remote controls, etc.
-
press(consumer_code)[source]¶ Send a report to indicate that the given key has been pressed. Only one consumer control action can be pressed at a time, so any one that was previously pressed will be released.
Parameters: consumer_code – a 16-bit consumer control code. Examples:
from adafruit_hid.consumer_control_code import ConsumerControlCode # Raise volume for 0.5 seconds consumer_control.press(ConsumerControlCode.VOLUME_INCREMENT) time.sleep(0.5) consumer_control.release()
-
release()[source]¶ Send a report indicating that the consumer control key has been released. Only one consumer control key can be pressed at a time.
Examples:
from adafruit_hid.consumer_control_code import ConsumerControlCode # Raise volume for 0.5 seconds consumer_control.press(ConsumerControlCode.VOLUME_INCREMENT) time.sleep(0.5) consumer_control.release()
-
send(consumer_code)[source]¶ Send a report to do the specified consumer control action, and then stop the action (so it will not repeat).
Parameters: consumer_code – a 16-bit consumer control code. Examples:
from adafruit_hid.consumer_control_code import ConsumerControlCode # Raise volume. consumer_control.send(ConsumerControlCode.VOLUME_INCREMENT) # Advance to next track (song). consumer_control.send(ConsumerControlCode.SCAN_NEXT_TRACK)
-
adafruit_hid.consumer_control_code.ConsumerControlCode¶
- Author(s): Dan Halbert
-
class
adafruit_hid.consumer_control_code.ConsumerControlCode[source]¶ USB HID Consumer Control Device constants.
This list includes a few common consumer control codes from https://www.usb.org/sites/default/files/hut1_21_0.pdf#page=118.
-
BRIGHTNESS_DECREMENT= 112¶ Decrease Brightness
-
BRIGHTNESS_INCREMENT= 111¶ Increase Brightness
-
EJECT= 184¶ Eject
-
FAST_FORWARD= 179¶ Fast Forward
-
MUTE= 226¶ Mute
-
PLAY_PAUSE= 205¶ Play/Pause toggle
-
RECORD= 178¶ Record
-
REWIND= 180¶ Rewind
-
SCAN_NEXT_TRACK= 181¶ Skip to next track
-
SCAN_PREVIOUS_TRACK= 182¶ Go back to previous track
-
STOP= 183¶ Stop
-
VOLUME_DECREMENT= 234¶ Decrease volume
-
VOLUME_INCREMENT= 233¶ Increase volume
-