From 1e2a491926e9732b14cf1edcaf4ae9a3125cdd46 Mon Sep 17 00:00:00 2001 From: will wade Date: Thu, 10 Aug 2023 08:03:03 +0000 Subject: [PATCH] GITBOOK-87: Rewritten the front page - I think easier to read --- docs/README.md | 62 +++++----- docs/SUMMARY.md | 29 +++-- docs/developers/developing-without-a-board.md | 15 +++ docs/developers/relaykeys-daemon.md | 2 +- docs/developers/supported-boards.md | 117 ------------------ docs/installation.md | 107 ---------------- docs/installation/README.md | 27 ++++ docs/installation/checking-it-works.md | 22 ++++ .../connecting-with-relaykeys/README.md | 9 ++ .../connecting-with-relaykeys/wired-mode.md | 36 ++++++ .../wireless-mode.md | 10 ++ .../download-and-setup-software.md | 11 ++ docs/installation/supported-boards/README.md | 15 +++ .../adafruit-feather-nrf52840-express.md | 21 ++++ .../adafruit-itsybitsy-nrf52840.md | 19 +++ .../supported-boards/bluefruit-le-friend.md | 37 ++++++ .../supported-boards/raytac-dongle.md | 19 +++ docs/using-relaykeys/README.md | 28 +---- docs/{ => using-relaykeys}/guides/README.md | 16 +-- .../guides/communicator.md | 18 +-- docs/{ => using-relaykeys}/guides/grid3.md | 4 +- .../guides/mindexpress.md | 0 .../guides/snap-corefirst.md | 6 +- docs/using-relaykeys/relaykeys-desktop-qt.md | 27 ++++ .../relaykeys-serial.md | 2 +- 25 files changed, 350 insertions(+), 309 deletions(-) create mode 100644 docs/developers/developing-without-a-board.md delete mode 100644 docs/developers/supported-boards.md delete mode 100644 docs/installation.md create mode 100644 docs/installation/README.md create mode 100644 docs/installation/checking-it-works.md create mode 100644 docs/installation/connecting-with-relaykeys/README.md create mode 100644 docs/installation/connecting-with-relaykeys/wired-mode.md create mode 100644 docs/installation/connecting-with-relaykeys/wireless-mode.md create mode 100644 docs/installation/download-and-setup-software.md create mode 100644 docs/installation/supported-boards/README.md create mode 100644 docs/installation/supported-boards/adafruit-feather-nrf52840-express.md create mode 100644 docs/installation/supported-boards/adafruit-itsybitsy-nrf52840.md create mode 100644 docs/installation/supported-boards/bluefruit-le-friend.md create mode 100644 docs/installation/supported-boards/raytac-dongle.md rename docs/{ => using-relaykeys}/guides/README.md (57%) rename docs/{ => using-relaykeys}/guides/communicator.md (69%) mode change 100755 => 100644 rename docs/{ => using-relaykeys}/guides/grid3.md (85%) mode change 100755 => 100644 rename docs/{ => using-relaykeys}/guides/mindexpress.md (100%) mode change 100755 => 100644 rename docs/{ => using-relaykeys}/guides/snap-corefirst.md (62%) mode change 100755 => 100644 create mode 100644 docs/using-relaykeys/relaykeys-desktop-qt.md rename docs/{developers => using-relaykeys}/relaykeys-serial.md (98%) diff --git a/docs/README.md b/docs/README.md index 30b1b4f..6f06ac1 100755 --- a/docs/README.md +++ b/docs/README.md @@ -1,56 +1,62 @@ --- +description: Overview of the project and its components cover: .gitbook/assets/jessimage.jpeg coverY: 0 --- -# Welcome to the RelayKeys Docs! +# 😎 Introduction -> These Docs will help get you up-and-running quickly, guide you through advanced features, and explain the concepts that make RelayKeys so unique. +Welcome to the RelayKeys Documentation! This comprehensive guide will help you swiftly get started, explore advanced features, and delve into the unique concepts that define RelayKeys. -## What is RelayKeys? +### Introduction to RelayKeys -**RelayKeys is an open-source suite of software & hardware for communicating with computers, tablets, phones over a bluetooth connection.** It has been designed to work with AAC (Alternative & Augmentative Communication) devices first and foremost but the technology behind this is useful to many people who need to input text/mouse commands on one computer to access another bluetooth-enabled device. +RelayKeys is an open-source software and hardware suite designed to facilitate seamless communication between computers, tablets, and phones via Bluetooth connections. While initially tailored for Alternative and Augmentative Communication (AAC) devices, its versatile technology extends its utility to a broader range of users who require text input or mouse commands to access Bluetooth-enabled devices. -### Why? +#### Purpose and Benefits -Well a range of purposes. For some - its just a convenient way of saving some money on a [KVM switch](https://en.wikipedia.org/wiki/KVM\_switch) - or replacing now hard to find [commercial solutions](https://docs.acecentre.org.uk/products/v/relaykeys/developers/other-projects). +RelayKeys serves various purposes: -For the [AceCentre](http://acecentre.org.uk/) we want people with disabilities who are forced to use one system (e.g. a dedicated Eyegaze system) to be able to access other computers and systems they may need to use for work or leisure. This has only been available on a couple of commercial AAC systems - and often need to be on the same network which is sadly often impossible in schools or government workplaces - Or they do work over bluetooth but for only one system in the field exists like this (see [here for more details on these](https://docs.acecentre.org.uk/products/v/relaykeys/developers/other-projects#aac-projects)). Some people may also want to just control their tablet or phone using this technique rather than rely on computer control functions - for example to control music software or photo editing software which usually demands the full screen. Or others want to make custom full screen custom keyboards using their specialist software. +* **Cost-Effective Solution**: For some, it provides a cost-effective alternative or replacement for pricey or obsolete hardware. +* **Accessibility for Disabilities**: Our primary focus is on empowering individuals with disabilities. RelayKeys enables users who rely on dedicated AAC systems, such as Eyegaze, to access other devices crucial for work or leisure. Unlike limited commercial solutions, RelayKeys functions across devices and doesn't necessitate a shared network. It acts just like a Bluetooth keyboard and mouse - so there is minimal lag. +* **Custom Control**: Users can use RelayKeys to control their tablets or phones, particularly useful for tasks like music editing or photo manipulation, which typically demand full-screen control. Any device which responds to a Bluetooth keyboard or mouse will work - e.g. smart TV's. +* **Open System**: RelayKeys' open architecture ensures longevity and fosters collaboration for system improvements, aiding both people with disabilities and the general population. -**Why not just rely on other solutions?** Some commercial solutions are great. We advocate using them over our solution when you can. When you can't (e.g. no alternative or restrictions to what devices you can control) then this may be a solution. +{% embed url="https://www.youtube.com/watch?v=2wrZMGWgvcE" %} -**We are a commercial developer.. I like it but I think I could do it differently**. Thats great! But please consider the end user. If you as a commercial supplier dont want to continue making this hardware/software solution in the future consider a route to how a user could use a open solution. Please consider either replicating our command set at a serial or CLI level. Are we missing something that your solution provides? Please let us know so we can improve it. +### Why Choose RelayKeys? -**Why not just do this in software alone?** Sure. If you can. On windows - its not possible.. Yet. Maybe in Windows 11. In MacOS it _should_ be - and iOS & Android its definitely possible. But our solution kind of offloads the problem. If you work in one of the mobile environments and want to replicate the functionality go for it - just please consider following some similarity in command structure (take a look at the macros for example) +While other commercial solutions exist, RelayKeys offers a unique set of advantages: -**By creating an open system we aim for longevity; even if a developer wants to create their own system we ask to make it compatible by using the same standard way of calling devices.** +* **User-Centric Approach**: We encourage commercial developers to consider user needs and explore open solutions. If our approach doesn't align with your vision, consider adopting our command set for compatibility and improvement. +* **Complementary to Software**: RelayKeys has a number of ways it can work with your own software. We have examples of how it can work with AAC Software and an example standalone app written in Python. We can even show examples of how it can be used to display text on [a separate second screen](https://github.com/AceCentre/open-ble-screen). +* **Standardization for Compatibility**: An open system ensures compatibility and simplifies development, making it easier for developers to create their own solutions that align with our command structure. -{% embed url="https://www.youtube.com/watch?v=2wrZMGWgvcE" %} -**Short demonstration of the main aspects of RelayKeys** -{% endembed %} +### Core Principles + +RelayKeys is built upon a set of core principles that define its essence: -## Core Principles +* **No Client Software/Hardware**: Designed to accommodate workplace and education settings, RelayKeys operates without requiring additional software or hardware on the client device. As long as Bluetooth LE support is present, RelayKeys is functional. +* **Device Agnostic**: RelayKeys isn't tied to specific devices or software solutions. Its versatility empowers developers to leverage it in various ways, fostering innovation. +* **Open Architecture**: RelayKeys is an open and transparent system, distinct from closed, proprietary alternatives. This openness encourages collaboration and ensures that technology remains viable even as manufacturers shift focus. -* **No-Software/Hardware on Client** — Because so many people have restrictions in the workplace or education settings we have designed this solution to not use any additional software or hardware for the client device. This means as long as your client device _supports Bluetooth LE_ then RelayKeys will work. -* **Agnostic** — RelayKeys is not specific to certain devices or software solutions. It is not designed for anyone piece of software or hardware. We aim to make a solution that is broad in scope and allows a developer to use this how they wish. -* **Open** — RelayKeys is not a closed, obfuscated, or black-boxed system. Alternative systems have existed for AAC but when technology becomes dropped by manufacturers engineers and clients alike struggle to keep their equipment working. By keeping the technology open we hope that others can fix and develop the solution. Equally, the technology used in this is not just useful to people with disabilities but the general population. We aim to share our progress and hope others build on it. By working together we aim to reduce the steps and overheads to get this feature in all AAC software and other technology solutions; commercial or open-source alike. +### The RelayKeys Ecosystem -## The RelayKeys Ecosystem +The RelayKeys ecosystem comprises several key components, each serving a specific role: -There are several components of the RelayKeys ecosystem, below is a brief overview. Remember that the software below works on one computer (a _**server computer**_ - often the AAC device) and the computers/tablets/mobile phones it connects to are _**receiving devices**_. +#### RelayKeys-Serial API (RK-Serial) -### RelayKeys-Serial API (_aka_ _RK-Serial_) +Our standardized API enables seamless communication with RelayKeys-compatible hardware devices over serial connections, including USB buses or Bluetooth serial connections. For more information, refer to the [link](https://relaykeys.example.com/rk-serial). -We have defined a standard for calling a RelayKeys (or RelayKeys compatible) hardware device when available over serial. RelayKeys can be used over a USB bus or Bluetooth serial connection. See [here](developers/relaykeys-serial.md) for more information. +#### RelayKeys-Service (RK-Service / Daemon) -### RelayKeys-Service (_aka_ _RK-Service_ / _Daemon_) +The RK-Service functions as an RPC service, receiving incoming connections and processing commands. These commands are translated into AT-Commands, simulating HID Keyboard/Mouse actions. The AT Commands are then transmitted via serial connection to Bluetooth-enabled secondary devices. An installer is available for continuous operation on Windows. -This is a [RPC](https://en.wikipedia.org/wiki/Remote\_procedure\_call) service that listens for incoming connections and parses the commands. These commands are then converted to AT-Commands that are HID Keyboard/Mouse commands. These AT Commands are then sent over a serial connection to a piece of hardware that talks in Bluetooth to a secondary computer. On Windows we have built an installer that runs this continually. +#### RelayKeys-QT (RK-Desktop) -### RelayKeys-QT (_aka_ _RK-Desktop_) +RK-Desktop is a windowed application responsible for capturing keystrokes and future mouse inputs. It forwards this data to the RelayKeys Service for processing. -This is a windowed application that captures keypress' (and one day mouse input) and sends this data to the RelayKeys Service +#### RelayKeys-CLI (RK-CLI) -### RelayKeys-CLI (_aka_ _RK-CLI_) +The RK-CLI provides a command-line interface for interacting with RelayKeys, offering a versatile and efficient method for users comfortable with terminal-based interactions. -This is a '_command line interface_' which allows programs that do not support native RPC calls to talk to the Service. It allows us to abstract certain features away from the service - and do more complex things like capturing the pasteboard of the computer. +This documentation aims to empower you with the knowledge needed to harness RelayKeys' capabilities fully. Whether you're an AAC user seeking expanded access or a developer working on groundbreaking solutions, RelayKeys offers a platform that promotes accessibility and innovation. diff --git a/docs/SUMMARY.md b/docs/SUMMARY.md index 9de96af..4cb3078 100644 --- a/docs/SUMMARY.md +++ b/docs/SUMMARY.md @@ -1,21 +1,32 @@ # Table of contents -* [Welcome to the RelayKeys Docs!](README.md) -* [⚙️ Installation](installation.md) +* [😎 Introduction](README.md) +* [⚙️ Installation](installation/README.md) + * [Setting up a board for RelayKeys](installation/supported-boards/README.md) + * [Adafruit Feather nRF52840 Express](installation/supported-boards/adafruit-feather-nrf52840-express.md) + * [Raytac dongle](installation/supported-boards/raytac-dongle.md) + * [Adafruit itsybitsy nRF52840](installation/supported-boards/adafruit-itsybitsy-nrf52840.md) + * [Bluefruit LE Friend](installation/supported-boards/bluefruit-le-friend.md) + * [Download and Setup (Software)](installation/download-and-setup-software.md) + * [Connecting with RelayKeys](installation/connecting-with-relaykeys/README.md) + * [Wired Mode](installation/connecting-with-relaykeys/wired-mode.md) + * [Wireless Mode](installation/connecting-with-relaykeys/wireless-mode.md) + * [Checking it works](installation/checking-it-works.md) * [🖥 Using RelayKeys](using-relaykeys/README.md) + * [RelayKeys Desktop (QT)](using-relaykeys/relaykeys-desktop-qt.md) * [Command Line Usage](using-relaykeys/relaykeys-cli.md) + * [💬 Guides for use with AAC](using-relaykeys/guides/README.md) + * [Tobii Communicator 5](using-relaykeys/guides/communicator.md) + * [Smartbox Grid 3](using-relaykeys/guides/grid3.md) + * [Jabbla MindExpress](using-relaykeys/guides/mindexpress.md) + * [Tobii Dynavox - Snap](using-relaykeys/guides/snap-corefirst.md) + * [Serial API](using-relaykeys/relaykeys-serial.md) * [❓ Troubleshooting](troubleshooting.md) -* [💬 Guides for use with AAC](guides/README.md) - * [Tobii Communicator 5](guides/communicator.md) - * [Smartbox Grid 3](guides/grid3.md) - * [Jabbla MindExpress](guides/mindexpress.md) - * [Tobii Dynavox - Snap](guides/snap-corefirst.md) * [👩💻 Developer Information](developers/README.md) * [Architecture of RelayKeys](developers/architecture.md) - * [Supported Electronics Boards](developers/supported-boards.md) + * [Developing without a board](developers/developing-without-a-board.md) * [Config File details](developers/relaykeys-cfg.md) * [Server (Daemon) reference](developers/relaykeys-daemon.md) - * [Serial API](developers/relaykeys-serial.md) * [Building a binary](developers/building-a-binary.md) * [Prior Art/Related Projects](developers/other-projects.md) * [Contributing](developers/contributing.md) diff --git a/docs/developers/developing-without-a-board.md b/docs/developers/developing-without-a-board.md new file mode 100644 index 0000000..cbd89dd --- /dev/null +++ b/docs/developers/developing-without-a-board.md @@ -0,0 +1,15 @@ +# Developing without a board + +If you are developing the 'server' side of things and want to try out the code you can run this without any hardware by having a null serial terminal. To do this, in a terminal run: + +``` +python resources/demoSerial.py +``` + +then in another terminal run + +``` +python relayekeysd.py --noserial +``` + +NB: Only tested on MacOS but should work on any posix system. For Windows simply give a COM port that doesn't exist. diff --git a/docs/developers/relaykeys-daemon.md b/docs/developers/relaykeys-daemon.md index 5a38c56..ede136a 100644 --- a/docs/developers/relaykeys-daemon.md +++ b/docs/developers/relaykeys-daemon.md @@ -6,7 +6,7 @@ When you use our installer it installs this as a service. If you run the code wi ## --noserial -Run the daemon and dont try and connect to hardware. If you are on linux/MacOS you can fake a serial port [following these tips](supported-boards.md#developing-without-a-board). If you are on Windows just fix a COM port in the config file or use the `--dev` option - just choose a non-existent COM port +Run the daemon and dont try and connect to hardware. If you are on linux/MacOS you can fake a serial port [following these tips](../installation/supported-boards/#developing-without-a-board). If you are on Windows just fix a COM port in the config file or use the `--dev` option - just choose a non-existent COM port ## --dev diff --git a/docs/developers/supported-boards.md b/docs/developers/supported-boards.md deleted file mode 100644 index 723e9c5..0000000 --- a/docs/developers/supported-boards.md +++ /dev/null @@ -1,117 +0,0 @@ -# Supported Electronics Boards - -A wide range of Arduino boards supports HID (Human Interface Device). Often these are to emulate simple keypress' but to do more complex things like send one or modififer keys with a key - or to emulate holding a key down for a set period of time is either impossible or difficult to implement. Adafruit have developed the firmware on their Bluefruit nrf\* range of boards to emulate HID keyboards well using their AT Commands. - -Currently RelayKeys is designed to work with the [Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062) (Buy in the [UK from Pimoroni](https://shop.pimoroni.com/products/adafruit-feather-nrf52840-express)) or with the [Adafruit itsybitsy nrf52840 ](https://www.adafruit.com/product/4481)or with lesser support for the [The Adafruit - Bluefruit LE Friend - nRF51822 - v3.0](https://www.adafruit.com/product/2267) (Buy in the [UK from Pimoroni](https://shop.pimoroni.com/products/adafruit-bluefruit-le-friend-ble-4-0-nrf51822-v1-0#description)). _Although Note: We really arent supporting the LE Friend much - we do hear it works but dragons beware!_ See below for details on configuring these. - -{% hint style="info" %} -If you are using a receiver dongle - follow the same guidance below but you will also need to copy over the firmware file for the dongle. Same procedure - different file name -{% endhint %} - -## Setup for Adafruit Feather nRF52840 Express - -Either use the drag and drop UF2 method or more steps involved - Arduino uploading method.\ -\ -For the UF2 method - -* Download the UF2 file for the feather _nrf52840_ express _board in the_ [_current release_](http://github.com/acecentre/relaykeys/releases/latest)\_\_ -* Double click that reset button. You will then get a USB drive on your computer. Drag and drop the UF2 file to the root of that drive. -* It **SHOULD** disconnect from your Computer if successful and the light should change colour to Green -* More details see the steps [here](https://learn.adafruit.com/adafruit-metro-m0-express/uf2-bootloader-details#entering-bootloader-mode-2929745) - -![](../.gitbook/assets/uf2drag-drop.gif) - -Or the Arduino uploading method. - -* Check the setup of your [Arduino IDE](https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup) (remember we're using the nRF52840 board!) -* Upload the [sketch](../../arduino/arduino\_nRF52840/arduino\_nRF52840.ino) to your feather. -* Run the server side code -* Done! - -## Setup for Raytac dongle - -Either use the drag and drop UF2 method or more steps involved - Arduino uploading method.\ -\ -For the UF2 method - -* Download the UF2 file for the raytac dongle in the\_ [_current release_](http://github.com/acecentre/relaykeys/releases/latest)\_\_ -* Press and hold thr reset button as you plug it into the computer. You will then get a USB drive on your computer. Drag and drop the UF2 file to the root of that drive. - -![](../.gitbook/assets/uf2drag-drop.gif) - -Or the Arduino uploading method. - -* Check the setup of your [Arduino IDE](https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup) (remember we're using the nRF52840 board!) -* Upload the [sketch](../../arduino/arduino\_nRF52840/arduino\_nRF52840.ino) to your feather. -* Run the server side code -* Done! - -## Setup for Adafruit itsybitsy nRF52840 - -Either use the drag and drop UF2 method or more steps involved - Arduino uploading method.\ -\ -For the UF2 method - -* Download the UF2 file for the itsybitsy _board in the current release_ -* Double click that reset button. You will then get a USB drive on your computer. Drag and drop the UF2 file to the root of that drive. -* It SHOULD disconnect from your pC if successful – but as I say the loghts should change colour to Green -* More details see the steps [here](https://learn.adafruit.com/adafruit-metro-m0-express/uf2-bootloader-details#entering-bootloader-mode-2929745) - -Or the Arduino uploading method. - -* Check the setup of your [Arduino IDE](https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup) (remember we're using the nRF52840 board!) -* Upload the [sketch](../../arduino/arduino\_nRF52840/arduino\_nRF52840.ino) to your feather. -* Run the server side code -* Done! - -## Setup for Bluefruit LE Friend - -{% hint style="info" %} -Although it _should_ work - and we promise you it _did_ work - something has broken functionality working with the LE friend. So we aren't **officially** supporting this right now -{% endhint %} - -* [Install the CP2104 Driver](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) -* Update it to 0.8.1. Easiest way to do this is to connect to using the Bluefruit app - it will auto update it if required. -* Plug it in -* Set the switch on the device to CMD mode -* Open up a serial terminal and connect to the device (See [here](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/terminal-settings#terraterm-windows-5-2) for exact settings for your Operating System) -* Turn on HID Mode. More info [here](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/ble-services#at-plus-blehiden-14-31). To be precise - enter this into your serial terminal - - ``` - AT+BLEHIDEN=1 - - ATZ - ``` - -(You should see 'OK' after each entry) - -* Next change the default speed. i.e. enter this in your serial terminal: - - ``` - AT+BAUDRATE=115200 - ``` -* Next put the device into [DATA mode](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/uart-test#blefriend-configuration-6-3) (slide the switch). -* Finally - update the relaykeys.cfg file with - - ``` - baud = 115200 - - ``` - -(Or whatever speed you so wish) - -## Developing without a board? - -If you are developing the 'server' side of things and want to try out the code you can run this without any hardware by having a null serial terminal. To do this, in a terminal run: - -``` -python resources/demoSerial.py -``` - -then in another terminal run - -``` -python relayekeysd.py --noserial -``` - -NB: Only tested on MacOS but should work on any posix system. For Windows simply give a COM port that doesn't exist. diff --git a/docs/installation.md b/docs/installation.md deleted file mode 100644 index 5360d6f..0000000 --- a/docs/installation.md +++ /dev/null @@ -1,107 +0,0 @@ -# ⚙️ Installation - -> The easiest way to get up-and-running is with the [Windows Installer](https://github.com/AceCentre/RelayKeys/releases/latest), which includes the RelayKeys-CLI, and the RelayKeys-Desktop software. Read on to see how to install and setup. - -## A quick reminder of how this works - -So RelayKeys consists of a hardware solution that talks Bluetooth HID to secondary devices - anything that can pair with bluetooth and understand a keyboard works, and some software on the 'server' device; i.e. the device sending the key/mouse movements. So for our installation we really focus on the 'server' since the recieving device needs no additional hardware or software. - -![RelayKeys Overview](img/overview.png) - -## Requirements - -RelayKeys is designed to work on Windows, Linux, and Mac Operating Systems. We have built a Windows installer that makes the process easier on that platform. For Mac & Linux, you will need to build the app from the source. - -* **Windows 7-10** -* **A USB Port** -* **Ability to Install the software as Administrator** -* **A second device to connect to** Could be a Windows computer, a Mac, an iPad etc - -and most importantly: - -* **A supported piece of RelayKeys-ready hardware** - * Right now: this is designed to work with the [Adafruit nrf52840 express](https://www.adafruit.com/product/4062), [Adafruit nrf52840 Itsybitsy](https://www.adafruit.com/product/4481) or [Raytac nrf52840 dongle](https://www.adafruit.com/product/5199) Others will be added to the list as this is developed. - * **Note**: if you wish to use a dongle to receive - instead of relying on a device's internal Bluetooth and pairing etc - you will need a second board. - -{% hint style="info" %} -If you have a RelayKeys stick provided by AceCentre, Carry on reading below. If you wish to buy your hardware that hasn't been prepared, [read this guide](developers/supported-boards.md). -{% endhint %} - -## Download and Setup - -Download the installer from [here](https://github.com/AceCentre/RelayKeys/releases/latest). When downloaded 'Run' the program - -Step through the installation procedure. Select 'Normal install' and let the RelayKeys setup software do its thing to install the software in the correct place (By default: `C:\Program Files (x86)\Ace Centre\RelayKeys`). - -{% hint style="info" %} -If you use 'Portable' or change the location of the software: Make a note of where you have stored the programme, as you will need this when linking it with your software -{% endhint %} - -## Plug-in Your RelayKeys stick & pair with a computer (Wired mode) - -1. Make sure the Micro-USB connector is attached to the stick and then attach the female end of the USB lead into your computer -2. You should see your stick light a solid blue ("Paired") or flashing blue ("Un-paired") - -If "Flashing". This means you have yet to pair the RelayKeys device with another computer. - -### Put RelayKeys into a pairing mode - -You can do this in three different ways: - -* Send a command using the "`relaykeys-QT.exe`" app and press "Add a device" in the toolbar - or - -* Run "`relaykeys-cli.exe ble_cmd:devadd" - or -` -* Press the Button on the RelayKeys hardware. It will now flash yellow -* Next pair your device with RelayKeys. - -### Pair with a Windows Computer - -So to connect to Another Windows computer, go to Settings, Bluetooth, "Add a device", and connect to "AceRK" - -![Pairing Windows](img/screenshots/windows-pairing.gif) - -### Pair with an iOS device - -To connect to an iPad/iPhone, go to Settings, Bluetooth and add "Bluefruit52" or "AceRK" or "RelayKeys"\ -![Pairing iPad](img/screenshots/ipad-pairing.gif) - -### Pair with a Mac - -To connect to a mac, Open up "System Preferences", Bluetooth and add "AceRK" - -![Pairing Mac](img/screenshots/mac-pairing.gif) - -## Wireless mode - -{% hint style="info" %} -Note that this mode is useful on devices where you can't plug anything into your device. The setup can feel _strange -_ what we need to do is tell your relaykeys hardware the device to connect to. -{% endhint %} - -1. Plug in device and follow instructions [as above](installation.md#plug-in-your-relaykeys-stick-and-pair-with-a-computer-wired-mode) -2. Pair the main AAC/Host device with it. So pair the computer you have attached it to with RelayKeys hardware. This can feel a bit strange - you are connecting the hardware to the same machine you are on. See [here](installation.md#undefined-1) for how to put it into pairing mode. -3. Disconnect the relaykeys hardware. In your bluetooth settings you actually need to click on the item and "Remove" device. (NB: If you cant do this it might be because you need to be an admin. The trick is open the Control Panel -> Devices & Printers -> Relaykeys -> Right click, Remove and you will be asked for an Admin password) -4. Plug relaykeys into a power source - away from the computer. Your RelayKeys may have a battery or you might need to plug into a wall USB power source. -5. Double press the User switch It should now shine a nice blue colour! -6. Run RelayKeysd with `--ble_mode` See [here](developers/relaykeys-daemon.md) for more details - -## Checking it works - -1. Open up something on the second computer that you can enter text into. E.g. Notes on the iPad, Notepad on Windows or Notes on a mac -2. On your server computer (the one with RelayKeys attached) run "RelayKeys" (search for it in your Windows search bar). Alternatively find it in `C:\Program Files(x86)\Ace Centre\RelayKeys\relaykeys-qt.exe` -3. With the window having focus - type into it. You should see the keystrokes appear on the second computer - -## Using it with your AAC software - -You can get going by using one of these example files that work with your AAC Software: - -* [The Grid 3](guides/grid3.md) -* [MindExpress](guides/mindexpress.md) -* [Tobii Communicator](guides/communicator.md) -* [Tobii Dynavox Snap](guides/snap-corefirst.md) - -When you are ready, [have a read of how to integrate the features you need](../guides/basic-principles.html). - -*** - -👍 You've successfully installed and setup RelayKeys! Now you may want to use the CLI or QT program. Read on to find out how these work. - -😞 Got a problem? Dang! See our [troubleshooting](troubleshooting.md) guide. diff --git a/docs/installation/README.md b/docs/installation/README.md new file mode 100644 index 0000000..1fcfdf3 --- /dev/null +++ b/docs/installation/README.md @@ -0,0 +1,27 @@ +# ⚙️ Installation + + + +> The easiest way to get up-and-running is with the [Windows Installer](https://github.com/AceCentre/RelayKeys/releases/latest), which includes the RelayKeys-CLI, and the RelayKeys-Desktop software. Read on to see how to install and setup. + +## A quick reminder of how this works + +So RelayKeys consists of a hardware solution that talks Bluetooth HID to secondary devices - anything that can pair with bluetooth and understand a keyboard works, and some software on the 'server' device; i.e. the device sending the key/mouse movements. So for our installation we really focus on the 'server' since the recieving device needs no additional hardware or software. + +![RelayKeys Overview](../img/overview.png) + +## Requirements + +RelayKeys is designed to work on Windows, Linux, and Mac Operating Systems. We have built a Windows installer that makes the process easier on that platform. For Mac & Linux, you will need to build the app from the source. + +* **Windows 7-10** +* **A USB Port** +* **Ability to Install the software as Administrator** +* **A second device to connect to** Could be a Windows computer, a Mac, an iPad etc + +and most importantly: + +* **A supported piece of RelayKeys-ready hardware** + * Right now: this is designed to work with the [Adafruit nrf52840 express](https://www.adafruit.com/product/4062), [Adafruit nrf52840 Itsybitsy](https://www.adafruit.com/product/4481) or [Raytac nrf52840 dongle](https://www.adafruit.com/product/5199) Others will be added to the list as this is developed. + * **Note**: if you wish to use a dongle to receive - instead of relying on a device's internal Bluetooth and pairing etc - you will need a second board. + diff --git a/docs/installation/checking-it-works.md b/docs/installation/checking-it-works.md new file mode 100644 index 0000000..a7205be --- /dev/null +++ b/docs/installation/checking-it-works.md @@ -0,0 +1,22 @@ +# Checking it works + +1. Open up something on the second computer that you can enter text into. E.g. Notes on the iPad, Notepad on Windows or Notes on a mac +2. On your server computer (the one with RelayKeys attached) run "RelayKeys" (search for it in your Windows search bar). Alternatively find it in `C:\Program Files(x86)\Ace Centre\RelayKeys\relaykeys-qt.exe` +3. With the window having focus - type into it. You should see the keystrokes appear on the second computer + +## Using it with your AAC software + +You can get going by using one of these example files that work with your AAC Software: + +* [The Grid 3](../using-relaykeys/guides/grid3.md) +* [MindExpress](../using-relaykeys/guides/mindexpress.md) +* [Tobii Communicator](../using-relaykeys/guides/communicator.md) +* [Tobii Dynavox Snap](../using-relaykeys/guides/snap-corefirst.md) + +When you are ready, [have a read of how to integrate the features you need](../../guides/basic-principles.html). + +*** + +👍 You've successfully installed and setup RelayKeys! Now you may want to use the CLI or QT program. Read on to find out how these work. + +😞 Got a problem? Dang! See our [troubleshooting](../troubleshooting.md) guide. diff --git a/docs/installation/connecting-with-relaykeys/README.md b/docs/installation/connecting-with-relaykeys/README.md new file mode 100644 index 0000000..d2b3709 --- /dev/null +++ b/docs/installation/connecting-with-relaykeys/README.md @@ -0,0 +1,9 @@ +# Connecting with RelayKeys + +There are 3 broad configurations for RelayKeys + +* Wired Mode. This is where one Bluetooth dongle is in the Sending device +* Wireless Mode. This is where a Bluetooth dongle plugged into a power outlet or a battery sits away from the Sending device. This might be useful for devices where you cannot plug anything into the sending device +* Wired + Receiving Dongle. A receiving dongle sits in the receiving device. This is useful where "pairing" is unreliable on the recieving device or there is no Bluetooth stack on the receiving computer. + +You need to decide what is best for you. diff --git a/docs/installation/connecting-with-relaykeys/wired-mode.md b/docs/installation/connecting-with-relaykeys/wired-mode.md new file mode 100644 index 0000000..8c852f0 --- /dev/null +++ b/docs/installation/connecting-with-relaykeys/wired-mode.md @@ -0,0 +1,36 @@ +# Wired Mode + +## Plug-in Your RelayKeys stick & pair with a computer (Wired mode) + +1. Make sure the Micro-USB connector is attached to the stick and then attach the female end of the USB lead into your computer +2. You should see your stick light a solid blue ("Paired") or flashing blue ("Un-paired") + +If "Flashing". This means you have yet to pair the RelayKeys device with another computer. + +### Put RelayKeys into a pairing mode + +You can do this in three different ways: + +* Send a command using the "`relaykeys-QT.exe`" app and press "Add a device" in the toolbar - or - +* Run "`relaykeys-cli.exe ble_cmd:devadd" - or -` +* Press the Button on the RelayKeys hardware. It will now flash yellow +* Next pair your device with RelayKeys. + +### Pair with a Windows Computer + +So to connect to Another Windows computer, go to Settings, Bluetooth, "Add a device", and connect to "AceRK" + +![Pairing Windows](../../img/screenshots/windows-pairing.gif) + +### Pair with an iOS device + +To connect to an iPad/iPhone, go to Settings, Bluetooth and add "Bluefruit52" or "AceRK" or "RelayKeys"\ +![Pairing iPad](../../img/screenshots/ipad-pairing.gif) + +### Pair with a Mac + +To connect to a mac, Open up "System Preferences", Bluetooth and add "AceRK" + +![Pairing Mac](../../img/screenshots/mac-pairing.gif) + +## diff --git a/docs/installation/connecting-with-relaykeys/wireless-mode.md b/docs/installation/connecting-with-relaykeys/wireless-mode.md new file mode 100644 index 0000000..9d9f15e --- /dev/null +++ b/docs/installation/connecting-with-relaykeys/wireless-mode.md @@ -0,0 +1,10 @@ +# Wireless Mode + +Note that this mode is useful on devices where you can't plug anything into your device. The setup can feel _strange -_ what we need to do is tell your relaykeys hardware the device to connect to. + +1. Plug in device and follow instructions [as above](wireless-mode.md#plug-in-your-relaykeys-stick-and-pair-with-a-computer-wired-mode) +2. Pair the main AAC/Host device with it. So pair the computer you have attached it to with RelayKeys hardware. This can feel a bit strange - you are connecting the hardware to the same machine you are on. See [here](wireless-mode.md#undefined-1) for how to put it into pairing mode. +3. Disconnect the relaykeys hardware. In your bluetooth settings you actually need to click on the item and "Remove" device. (NB: If you cant do this it might be because you need to be an admin. The trick is open the Control Panel -> Devices & Printers -> Relaykeys -> Right click, Remove and you will be asked for an Admin password) +4. Plug relaykeys into a power source - away from the computer. Your RelayKeys may have a battery or you might need to plug into a wall USB power source. +5. Double press the User switch It should now shine a nice blue colour! +6. Run RelayKeysd with `--ble_mode` See [here](../../developers/relaykeys-daemon.md) for more details diff --git a/docs/installation/download-and-setup-software.md b/docs/installation/download-and-setup-software.md new file mode 100644 index 0000000..420c20e --- /dev/null +++ b/docs/installation/download-and-setup-software.md @@ -0,0 +1,11 @@ +# Download and Setup (Software) + +Download the installer from [here](https://github.com/AceCentre/RelayKeys/releases/latest). When downloaded 'Run' the program + +Step through the installation procedure. Select 'Normal install' and let the RelayKeys setup software do its thing to install the software in the correct place (By default: `C:\Program Files (x86)\Ace Centre\RelayKeys`). + +{% hint style="info" %} +If you use 'Portable' or change the location of the software: Make a note of where you have stored the programme, as you will need this when linking it with your software +{% endhint %} + +## diff --git a/docs/installation/supported-boards/README.md b/docs/installation/supported-boards/README.md new file mode 100644 index 0000000..4b355d5 --- /dev/null +++ b/docs/installation/supported-boards/README.md @@ -0,0 +1,15 @@ +# Setting up a board for RelayKeys + +{% hint style="info" %} +If you have a pre-prepared Bliuetooth stick (for example from Ace Centre) you don't need to read this section. If you are buying your own electronics to use then read on. +{% endhint %} + +A wide range of Arduino boards supports HID (Human Interface Device). Often these are to emulate simple keypress' but to do more complex things like send one or modififer keys with a key - or to emulate holding a key down for a set period of time is either impossible or difficult to implement. Adafruit have developed the firmware on their Bluefruit nrf\* range of boards to emulate HID keyboards well using their AT Commands. + +Currently RelayKeys is designed to work with the [Adafruit Feather nRF52840 Express](https://www.adafruit.com/product/4062) (Buy in the [UK from Pimoroni](https://shop.pimoroni.com/products/adafruit-feather-nrf52840-express)) or with the [Adafruit itsybitsy nrf52840 ](https://www.adafruit.com/product/4481)or with lesser support for the [The Adafruit - Bluefruit LE Friend - nRF51822 - v3.0](https://www.adafruit.com/product/2267) (Buy in the [UK from Pimoroni](https://shop.pimoroni.com/products/adafruit-bluefruit-le-friend-ble-4-0-nrf51822-v1-0#description)). _Although Note: We really arent supporting the LE Friend much - we do hear it works but dragons beware!_ See below for details on configuring these. + +{% hint style="info" %} +If you are using a receiver dongle - follow the same guidance below but you will also need to copy over the firmware file for the dongle. Same procedure - different file name +{% endhint %} + +## diff --git a/docs/installation/supported-boards/adafruit-feather-nrf52840-express.md b/docs/installation/supported-boards/adafruit-feather-nrf52840-express.md new file mode 100644 index 0000000..bd212d5 --- /dev/null +++ b/docs/installation/supported-boards/adafruit-feather-nrf52840-express.md @@ -0,0 +1,21 @@ +# Adafruit Feather nRF52840 Express + +## Setup for Adafruit Feather nRF52840 Express + +Either use the drag and drop UF2 method or more steps involved - Arduino uploading method.\ +\ +For the UF2 method + +* Download the UF2 file for the feather _nrf52840_ express _board in the_ [_current release_](http://github.com/acecentre/relaykeys/releases/latest)\_\_ +* Double click that reset button. You will then get a USB drive on your computer. Drag and drop the UF2 file to the root of that drive. +* It **SHOULD** disconnect from your Computer if successful and the light should change colour to Green +* More details see the steps [here](https://learn.adafruit.com/adafruit-metro-m0-express/uf2-bootloader-details#entering-bootloader-mode-2929745) + +![](../../.gitbook/assets/uf2drag-drop.gif) + +Or the Arduino uploading method. + +* Check the setup of your [Arduino IDE](https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup) (remember we're using the nRF52840 board!) +* Upload the [sketch](../../../arduino/arduino\_nRF52840/arduino\_nRF52840.ino) to your feather. +* Run the server side code +* Done! diff --git a/docs/installation/supported-boards/adafruit-itsybitsy-nrf52840.md b/docs/installation/supported-boards/adafruit-itsybitsy-nrf52840.md new file mode 100644 index 0000000..d9f7fe3 --- /dev/null +++ b/docs/installation/supported-boards/adafruit-itsybitsy-nrf52840.md @@ -0,0 +1,19 @@ +# Adafruit itsybitsy nRF52840 + +## Setup for Adafruit itsybitsy nRF52840 + +Either use the drag and drop UF2 method or more steps involved - Arduino uploading method.\ +\ +For the UF2 method + +* Download the UF2 file for the itsybitsy _board in the current release_ +* Double click that reset button. You will then get a USB drive on your computer. Drag and drop the UF2 file to the root of that drive. +* It SHOULD disconnect from your pC if successful – but as I say the loghts should change colour to Green +* More details see the steps [here](https://learn.adafruit.com/adafruit-metro-m0-express/uf2-bootloader-details#entering-bootloader-mode-2929745) + +Or the Arduino uploading method. + +* Check the setup of your [Arduino IDE](https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup) (remember we're using the nRF52840 board!) +* Upload the [sketch](../../../arduino/arduino\_nRF52840/arduino\_nRF52840.ino) to your feather. +* Run the server side code +* Done! diff --git a/docs/installation/supported-boards/bluefruit-le-friend.md b/docs/installation/supported-boards/bluefruit-le-friend.md new file mode 100644 index 0000000..e9eb527 --- /dev/null +++ b/docs/installation/supported-boards/bluefruit-le-friend.md @@ -0,0 +1,37 @@ +# Bluefruit LE Friend + +## Setup for Bluefruit LE Friend + +{% hint style="info" %} +Although it _should_ work - and we promise you it _did_ work - something has broken functionality working with the LE friend. So we aren't **officially** supporting this right now +{% endhint %} + +* [Install the CP2104 Driver](https://www.silabs.com/products/development-tools/software/usb-to-uart-bridge-vcp-drivers) +* Update it to 0.8.1. Easiest way to do this is to connect to using the Bluefruit app - it will auto update it if required. +* Plug it in +* Set the switch on the device to CMD mode +* Open up a serial terminal and connect to the device (See [here](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/terminal-settings#terraterm-windows-5-2) for exact settings for your Operating System) +* Turn on HID Mode. More info [here](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/ble-services#at-plus-blehiden-14-31). To be precise - enter this into your serial terminal + + ``` + AT+BLEHIDEN=1 + + ATZ + ``` + +(You should see 'OK' after each entry) + +* Next change the default speed. i.e. enter this in your serial terminal: + + ``` + AT+BAUDRATE=115200 + ``` +* Next put the device into [DATA mode](https://learn.adafruit.com/introducing-adafruit-ble-bluetooth-low-energy-friend/uart-test#blefriend-configuration-6-3) (slide the switch). +* Finally - update the relaykeys.cfg file with + + ``` + baud = 115200 + + ``` + +(Or whatever speed you so wish) diff --git a/docs/installation/supported-boards/raytac-dongle.md b/docs/installation/supported-boards/raytac-dongle.md new file mode 100644 index 0000000..05dbab7 --- /dev/null +++ b/docs/installation/supported-boards/raytac-dongle.md @@ -0,0 +1,19 @@ +# Raytac dongle + +## Setup for Raytac dongle + +Either use the drag and drop UF2 method or more steps involved - Arduino uploading method.\ +\ +For the UF2 method + +* Download the UF2 file for the raytac dongle in the\_ [_current release_](http://github.com/acecentre/relaykeys/releases/latest)\_\_ +* Press and hold thr reset button as you plug it into the computer. You will then get a USB drive on your computer. Drag and drop the UF2 file to the root of that drive. + +![](../../.gitbook/assets/uf2drag-drop.gif) + +Or the Arduino uploading method. + +* Check the setup of your [Arduino IDE](https://learn.adafruit.com/bluefruit-nrf52-feather-learning-guide/arduino-bsp-setup) (remember we're using the nRF52840 board!) +* Upload the [sketch](../../../arduino/arduino\_nRF52840/arduino\_nRF52840.ino) to your feather. +* Run the server side code +* Done! diff --git a/docs/using-relaykeys/README.md b/docs/using-relaykeys/README.md index a7010d6..f718459 100644 --- a/docs/using-relaykeys/README.md +++ b/docs/using-relaykeys/README.md @@ -1,27 +1,7 @@ # 🖥 Using RelayKeys -If you don't want to use any specific AAC software you can get going straight away with our demonstration software "RelayKeys-QT" (aka RelayKeys or RelayKeys Desktop). You will find this on your desktop as well as your start programmes. It has 4 main buttons on the left: +You can use RelayKeys in a number of different ways depending on your needs -### Capture - -![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.07.33.png>) - -This screen enables you to capture the keystrokes and mouse movements and any captured input gets sent directly to the currently connected device. To connect a device - see "Devices" screen. - -### Macro - -![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.08.09.png>) - -This screen enables you to create a macro file. This records your mouse or keystrokes and enables you to play it back. This is useful for creating long sequences of commands or say for writing a common piece of text such as a signature. You can play it back in this software or use the macro with the [CLI](relaykeys-cli.md#command-f-file.txt-macro) tool. - -### Connection - -![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.08.16.png>) - -This screen enables you to switch between paired devices and change the current mode. This means the RelayKeys hardware can run either as a wired dongle or a wireless device. Use the switch mode to change these modes. - -### Devices - -![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.08.26.png>) - -This screen enables you to add and remove paired devices - as well as removing all devices from the relaykeys hardware. +* Using our [desktop software](relaykeys-desktop-qt.md) +* Using a [Command Line Application](relaykeys-cli.md) (that Third-party software such as AAC software can use) +* Directly communicate over serial in your software. diff --git a/docs/guides/README.md b/docs/using-relaykeys/guides/README.md similarity index 57% rename from docs/guides/README.md rename to docs/using-relaykeys/guides/README.md index ec01229..0c92e77 100644 --- a/docs/guides/README.md +++ b/docs/using-relaykeys/guides/README.md @@ -1,29 +1,29 @@ # 💬 Guides for use with AAC {% hint style="info" %} -This is for end-users. If you are a developer please consider communicating with RelayKeys over the [serial](../developers/relaykeys-serial.md) or [cli API.](../using-relaykeys/relaykeys-cli.md) +This is for end-users. If you are a developer please consider communicating with RelayKeys over the [serial](../relaykeys-serial.md) or [cli API.](../relaykeys-cli.md) {% endhint %} {% hint style="info" %} -Right now we are focused on Windows AAC Software. For iOS or Android a developer needs to support relaykeys for it to work. +Right now we are focused on Windows AAC Software. For iOS or Android, a developer needs to support relaykeys for it to work. {% endhint %} -Most AAC software have a way of connecting to an external application. Some call this "Run Programme or something similar. As long as RelayKeys is installed and the correct hardware connected you can then call the installed command line application - with [the correct syntax](../../technical/reference.html). +Most AAC software has a way of connecting to an external application. Some call this "Run Programme or something similar. As long as RelayKeys is installed and the correct hardware is connected you can then call the installed command line application - with [the correct syntax](../../../technical/reference.html). Take a look at the guides for your software. The key application you want to access is the `relaykeys-cli-win.exe` found in `C:\Program Files (x86)\Ace Centre\RelayKeys`\ -`\` For a full list of commands you can send see [here](../using-relaykeys/relaykeys-cli.md). +`\` For a full list of commands you can send see [here](../relaykeys-cli.md). ### A tip on notifications -If you pass the _--notify_ flag to the cli application you will get notifications about the devices you are connected to and the status of the device. See [here](../using-relaykeys/relaykeys-cli.md#optional-extra-flag-notfiy) for more information +If you pass the _--notify_ flag to the cli application you will get notifications about the devices you are connected to and the status of the device. See [here](../relaykeys-cli.md#optional-extra-flag-notfiy) for more information -There is no documented way for third parties integrating their software into commercial AAC software for example integrated notifications. So we have to make use of the operating system notification system. The difficulty on Windows is that by default full screen apps do not see notifications. So to make this work we recommend three alterations to your notifications. +There is no documented way for third parties integrating their software into commercial AAC software for example integrated notifications. So we have to make use of the operating system notification system. The difficulty on Windows is that by default full screen apps do not see notifications. So to make this work we recommend three alterations to your notifications. 1. Turn Focus Assist **off**. 2. Turn **off** the setting "When I'm using an app in full screen mode" -![](../.gitbook/assets/focus-assist.png) +![](../../.gitbook/assets/focus-assist.png) -And next - because AAC users wont typically be able to dismiss notifications change the time that they appear for. To do this follow the steps [here](https://www.tenforums.com/tutorials/6175-change-how-long-show-notifications-windows-10-a.html). +And next - because AAC users wont typically be able to dismiss notifications change the time that they appear for. To do this follow the steps [here](https://www.tenforums.com/tutorials/6175-change-how-long-show-notifications-windows-10-a.html). diff --git a/docs/guides/communicator.md b/docs/using-relaykeys/guides/communicator.md old mode 100755 new mode 100644 similarity index 69% rename from docs/guides/communicator.md rename to docs/using-relaykeys/guides/communicator.md index 0444da3..f3798ae --- a/docs/guides/communicator.md +++ b/docs/using-relaykeys/guides/communicator.md @@ -3,41 +3,41 @@ [Communicator 5](https://www.tobiidynavox.com/pages/communicator-5-ap) is a AAC software for Tobii Dynavox communication aids . Follow the steps below to add commands to your pageset {% hint style="info" %} -Pageset quick start. Want a headstart? Download the Pageset [here](../../resources/aac-software/RelayKeys6x11.cddx). It has all the commands you should need. Just import, add the pageset to your Home Page and adapt +Pageset quick start. Want a headstart? Download the Pageset [here](../../../resources/aac-software/RelayKeys6x11.cddx). It has all the commands you should need. Just import, add the pageset to your Home Page and adapt - + {% endhint %} ## Sending the message bar This is the best way to enter longer texts and allows you to use the communication aid's prediction and phrase banks etc. Use the "Copy" command followed the Run Program command to run relaykeys-cli-win.exe with the **paste** argument -![](../.gitbook/assets/communicator5\_text\_paste.png) +![](../../.gitbook/assets/communicator5\_text\_paste.png) ## Simple keystrokes This is useful for making a keyboard-like page with individual letters and other keys that send one keystroke at a time. Use the Run Program command to run relaykeys-cli-win.exe with the **keypress:LETTER** argument (where letter is the key you want to send) -![](../.gitbook/assets/communicator5\_keypress.png) +![](../../.gitbook/assets/communicator5\_keypress.png) ## Sending keyboard shortcuts For special commands and shortcuts such as control-C, alt-F4 etc use the Run Program command to run relaykeys-cli-win.exe with the **keypress:KEYNAME,MODIFIER** argument (where keyname is the key you want to send) -![](../.gitbook/assets/communicator5\_navigation\_shortcut.png) +![](../../.gitbook/assets/communicator5\_navigation\_shortcut.png) ## Sending mouse commands Use the Run Program command to run relaykeys-cli-win.exe with the **mousemove:X,Y** argument (where X,Y is the distance you want to move the mouse), or the **mousebutton:BUTTON,ACTION** argument (where BUTTON is the button to use, and ACTION is click or doubleclick etc.) -![](../.gitbook/assets/communicator5\_navigation\_mousemove.png) +![](../../.gitbook/assets/communicator5\_navigation\_mousemove.png) -![](../.gitbook/assets/communicator5\_navigation\_mousebutton.png) +![](../../.gitbook/assets/communicator5\_navigation\_mousebutton.png) ## Controlling RelayKeys Use the Run Program command to run relaykeys-cli-win.exe with the ble-cmd:reconnect, ble-cmd:switch, or ble-cmd:devname --notify commands -![](../.gitbook/assets/communicator5\_control\_reconnect.png) +![](../../.gitbook/assets/communicator5\_control\_reconnect.png) -![](../.gitbook/assets/communicator5\_control\_switchnotify.png) +![](../../.gitbook/assets/communicator5\_control\_switchnotify.png) diff --git a/docs/guides/grid3.md b/docs/using-relaykeys/guides/grid3.md old mode 100755 new mode 100644 similarity index 85% rename from docs/guides/grid3.md rename to docs/using-relaykeys/guides/grid3.md index fecea93..b3d52c1 --- a/docs/guides/grid3.md +++ b/docs/using-relaykeys/guides/grid3.md @@ -10,13 +10,13 @@ Gridset quick start Want a headstart? Download the Gridset [here](https://github Use the relaykeys-cli-win.exe with the **keypress:LETTER** argument (where letter is the key you want to send) -![](<../.gitbook/assets/Screenshot 2022-06-28 at 10.27.13.png>) +![](<../../.gitbook/assets/Screenshot 2022-06-28 at 10.27.13.png>) ## Sending the message bar Use the "Copy" command followed by the relaykeys-cli-win.exe **paste** argument -![](<../.gitbook/assets/Screenshot 2022-06-28 at 10.26.48.png>) +![](<../../.gitbook/assets/Screenshot 2022-06-28 at 10.26.48.png>) ## Sending multiple commands - e.g. keyboard shortcuts diff --git a/docs/guides/mindexpress.md b/docs/using-relaykeys/guides/mindexpress.md old mode 100755 new mode 100644 similarity index 100% rename from docs/guides/mindexpress.md rename to docs/using-relaykeys/guides/mindexpress.md diff --git a/docs/guides/snap-corefirst.md b/docs/using-relaykeys/guides/snap-corefirst.md old mode 100755 new mode 100644 similarity index 62% rename from docs/guides/snap-corefirst.md rename to docs/using-relaykeys/guides/snap-corefirst.md index f45edcd..f387fb1 --- a/docs/guides/snap-corefirst.md +++ b/docs/using-relaykeys/guides/snap-corefirst.md @@ -6,8 +6,8 @@ Before you look at using RelayKeys with Snap have you considered [AccessIT 3](ht You need to edit your snap pageset - and create a "General" button - then you can add an action to a button. The action -
+
-
+
-
+
diff --git a/docs/using-relaykeys/relaykeys-desktop-qt.md b/docs/using-relaykeys/relaykeys-desktop-qt.md new file mode 100644 index 0000000..5bc25e0 --- /dev/null +++ b/docs/using-relaykeys/relaykeys-desktop-qt.md @@ -0,0 +1,27 @@ +# RelayKeys Desktop (QT) + +If you don't want to use any specific AAC software, you can get going with our demonstration software "RelayKeys-QT" (aka RelayKeys or RelayKeys Desktop). You will find this on your desktop as well as your start programmes if you have installed our software. It has 4 main buttons on the left: + +### Capture + +![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.07.33.png>) + +This screen enables you to capture the keystrokes and mouse movements and any captured input gets sent directly to the currently connected device. To connect a device - see "Devices" screen. + +### Macro + +![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.08.09.png>) + +This screen enables you to create a macro file. This records your mouse or keystrokes and enables you to play it back. This is useful for creating long sequences of commands or say for writing a common piece of text such as a signature. You can play it back in this software or use the macro with the [CLI](relaykeys-cli.md#command-f-file.txt-macro) tool. + +### Connection + +![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.08.16.png>) + +This screen enables you to switch between paired devices and change the current mode. This means the RelayKeys hardware can run either as a wired dongle or a wireless device. Use the switch mode to change these modes. + +### Devices + +![](<../.gitbook/assets/Screenshot 2022-07-26 at 20.08.26.png>) + +This screen enables you to add and remove paired devices - as well as removing all devices from the relaykeys hardware. diff --git a/docs/developers/relaykeys-serial.md b/docs/using-relaykeys/relaykeys-serial.md similarity index 98% rename from docs/developers/relaykeys-serial.md rename to docs/using-relaykeys/relaykeys-serial.md index 4e2eab2..ed8c4a3 100644 --- a/docs/developers/relaykeys-serial.md +++ b/docs/using-relaykeys/relaykeys-serial.md @@ -124,5 +124,5 @@ Gets the current mode - either wired or wireless. Switches the current mode from wired to wireless. Or Wireless to wired. {% hint style="info" %} -Note if the device **IS NOT** connected to RelayKeys wirelessly then it will stop responding. You will have to switch connection a different technique. See [here](../installation.md#wireless-mode) for more details +Note if the device **IS NOT** connected to RelayKeys wirelessly then it will stop responding. You will have to switch connection a different technique. See [here](../installation/#wireless-mode) for more details {% endhint %}