• Stars
    star
    126
  • Rank 284,543 (Top 6 %)
  • Language
  • Created over 15 years ago
  • Updated over 15 years ago

Reviews

There are no reviews yet. Be the first to send feedback to the community and the maintainers!

Repository Details

Use an Arduino to send HID (Human Interface Device) events to a host computer as if it were a keyboard
Virtual USB Keyboard
====================

Copyright 2009 Jonathan Oxer
Copyright 2009 Hugh Blemings

+---------------------------------------------------------------------+
| This project is featured in the book "Practical Arduino" by         |
| Jonathan Oxer and Hugh Blemings (Apress, 2009). More information    |
| about the book and this project is available at:                    |
|                                                                     |
| www.practicalarduino.com/projects/easy/virtual-usb-keyboard         |
+---------------------------------------------------------------------+

Communicating with a host computer can allow a simple Arduino-based
system to gain access to a wide variety of devices and information. Most
people link an Arduino to a host using serial communications across a
USB connection with custom code running on the host to send information
to the Arduino or receive it in return, but giving your Arduino the
ability to pretend to be a keyboard or mouse opens up a whole world of
possibilities because it means your Arduino can interact with software
that was never intended for external control. That could be desktop
software such as a game or a web browser: your Arduino could "type" into
a web form and submit it on your behalf, or act as a custom controller
for a game!

Or you could use an Arduino to connect a custom input device to your
computer so that it emulates a regular keyboard or joystick. The custom
input device could be a chording keyboard, a virtual keyboard, or even
something like a virtual reality glove or head tracking system
controlling your pointer by emulating a joystick.

More Repositories

1

SHT1x

Arduino library to support SHT1x-series (SHT10, SHT11, SHT15) temperature / humidity sensors from Sensirion
C++
153
star
2

WeatherStationReceiver

Use an Arduino and a 433MHz receiver module to intercept and process weather data from a La Crosse home weather station
63
star
3

WaterFlowGauge

Use an Arduino and a hall-effect flow rate sensor to measure water usage.
49
star
4

WaterTankDepthSensor

Measure how much water is in a tank and graph it online or use it to control pumps or an irrigation system
32
star
5

CarEngineDatalogger

Read and store values from an engine management system and GPS using an Arduino to create your own "black box" flight recorder
26
star
6

TimeLapseController

Create amazing time-lapse film sequences using an Arduino and a digital camera
21
star
7

SecuritySensors

Arduino sketch to read the status of security sensors connected via EOL (end-of-line) circuitry
20
star
8

TouchScreen

Arduino library to support 4-wire resistive touchscreens such as the Nintendo DS screen
C++
20
star
9

ShieldUSBDevice

Arduino shield to function as a USB device for keyboard and mouse emulation
16
star
10

OnlineThermometer

Use an Arduino to connect temperature sensors to the Internet and log / graph data over time
16
star
11

SpeechSynthesizerSimple

Simple test program to drive a SpeakJet chip with an Arduino
13
star
12

ProtoShieldMega

General purpose prototyping shield for the Arduino Mega
13
star
13

Ps2Keyboard

Read keypress events from a PS/2 keyboard connected to an Arduino and report them back to the host
13
star
14

ScopeAnalog

Firmware to read analog inputs
10
star
15

ShieldUSBHost

Arduino shield to function as a USB host using a Vinculum VDIP1 module
10
star
16

TouchscreenCoordinates

Minimal example code to read X and Y values from a Nintendo DS touch screen using an Arduino
Java
10
star
17

Shield433Rx

General purpose 433MHz receiver shield for the Arduino
9
star
18

ScopeDigital

Digital-read firmware
9
star
19

ScopeDigitalOptimized

Digital-read firmware with optimized communications
9
star
20

PanTiltControl

Control a Seeed Studio pan/tilt controller using a Sparkfun analog joystick
9
star
21

ProtoShieldPro

General purpose prototyping shield for the Arduino Pro
9
star
22

TimeLapseControllerAiko

Create amazing time-lapse film sequences using an Arduino and a digital camera (Aiko-based variant)
8
star
23

NetworkedGPIO

Network-connected general-purpose IO interface
8
star
24

TouchControlPanel

Use a Nintendo DS touch screen connected to an Arduino as a control surface for a home automation system
8
star
25

TouchControlPanelDisplay

Processing application to process and display X/Y coordinates from an Arduino connected to a touch screen
7
star
26

ApplianceRemoteControl

Control a domestic appliance using an Arduino and a modified appliance remote
7
star
27

PracticalArduinoEagleLib

A library of Eagle parts used to design PCBs for some of the Practical Arduino projects
7
star
28

OnlineThermometerWebduino

Updated version of the OnlineThermometer project compatible with the official Ethernet shield and the Freetronics Ethernet shield
Java
7
star
29

TouchCube

Visualisation using Processing to control a 3D cube using a Nintendo DS touch screen connected via an Arduino running NintendoDSTouchScreen
6
star
30

ApplianceRemoteControlCompact

Alternative version of ApplianceRemoteControl that uses more advanced programming techniques
5
star