Skip to content
/ 2Keys Public

A easy to setup second keyboard, designed for everyone.

License

Notifications You must be signed in to change notification settings

Gum-Joe/2Keys

Folders and files

NameName
Last commit message
Last commit date

Latest commit

eca2c3b · Jul 23, 2021
Dec 4, 2020
Mar 14, 2018
Sep 30, 2020
Oct 9, 2020
Jul 23, 2021
Oct 26, 2019
Oct 26, 2020
Oct 14, 2020
Apr 28, 2020
Sep 6, 2020
Jul 23, 2021
Sep 27, 2020
Oct 20, 2018
Apr 28, 2020
Sep 23, 2020
Oct 9, 2020
Oct 7, 2020
Jul 16, 2020
Oct 17, 2020
Sep 5, 2020
Jul 18, 2020
Nov 16, 2018
Jul 23, 2021
Oct 20, 2018
Jul 19, 2020
Apr 21, 2020
Jul 17, 2020
Sep 5, 2020
Oct 7, 2020
Sep 17, 2020
Apr 28, 2020
Jul 23, 2021

Repository files navigation

2Keys Build Status codecov Maintainability

A easy to setup second keyboard, designed for everyone.

For a full setup guide, see here

For keyboard mappings, see here

DEVELOPMENT NOTICE

I'm now working on a new version of 2Keys that is more modular & will be designed for the upcoming 2Keys Studio GUI. Please see the v1 branch.

Support

Windows is supported only as the server (where the hotkeys will run) and a raspberry pi is required to run the detector.

WARNING

This will download a copy of AutoHotkey_H, a DLL version of AutoHotkey

Building

To build & install the server, where hotkeys are run (for development purposes):

# IGNORE
$ yarn
$ yarn build
$ yarn link

To build all packages:

$ yarn
$ yarn workspace @twokeys/common-hi run tsc -b # need to compile this initially for bootstrapping purposes
$ yarn run compile:all # use yarn build -v to display more detailed output -> this builds the TS files

To test everything:

$ yarn workspace @twokeys/server run ts-node ./scripts/bootstrap.ts --debug # Downloads AHK for testing
$ yarn test:all # use yarn coverage:all for coverage

To test packages one by one:

$ yarn workspace @twokeys/server run ts-node ./scripts/bootstrap.ts --debug # Downloads AHK for testing
$ yarn workspaces run test

To build the detector (after installing Pipenv) (for development purposes):

$ cd detectors/detector-pi/detector
$ pipenv install
$ pipenv shell

You can then install it in the Pipenv shell's PATH with pip link -e .

If you want to install it globally, so you can use it with the 2Keys systemctl services:

$ cd detectors/detector-pi/detector
$ pipenv lock -r > required_tmp.txt
$ pip3 install -r required_tmp.txt
$ pip3 link -e .

Note that with this 2Keys and its dependencies will be installed for the entire system.

Devices

Server: The device running the hotkeys sever, i.e. where the hot keys will be run

Detecter: Device that handles detection of key presses & which keyboard it is and sends this to the server

Sofware used & inspiration

Inspired by LTT editor Taran's second keyboard project: https://github.com/TaranVH/2nd-keyboard

2Keys uses AutoHotkey_H (a DLL version of AutoHotkey): https://hotkeyit.github.io/v2/

License

Copyright 2020 Kishan Sambhi

2Keys is free software: you can redistribute it and/or modify it under the terms of the GNU General Public License as published by the Free Software Foundation, either version 3 of the License, or (at your option) any later version.

2Keys is distributed in the hope that it will be useful, but WITHOUT ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.

You should have received a copy of the GNU General Public License along with 2Keys. If not, see https://www.gnu.org/licenses/.