Code Monkey home page Code Monkey logo

2keys's Introduction

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/.

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.