Ecosyste.ms: Awesome

An open API service indexing awesome lists of open source software.

Awesome Lists | Featured Topics | Projects

https://github.com/davidgiven/narcissus

A chording keyboard tool for X
https://github.com/davidgiven/narcissus

Last synced: 15 days ago
JSON representation

A chording keyboard tool for X

Awesome Lists containing this project

README

        

NARCISSUS v0.1
==============

© 2015 David Given
2015-02-23

INTRODUCTION
============

Narcissus is a simple tool which allows you to use a Razer Nostromo gaming
keypad (or, potentially, other similar devices) as a chording keyboard,
where different letters are produced by pressing combinations of keys.

The Nostromo is one of these:

http://www.razerzone.com/gaming-keyboards-keypads/razer-nostromo

The keymap is moderately complicated by Narcissus also includes --- totally
free! --- a simple tutorial tool which will teach you how to use it.

INSTALLATION
============

In order to use Narcissus, you will need:

- Xlib
- libfakekey
This is available practically everywhere --- I used the version in Debian.

Narcissus is written in simple C99 and should be pretty portable.

To build, just do:

$ make

It'll leave the narcissus and nartutor binaries in the current directory; do
with them what you will. There are no data files to install.

USAGE
=====

To use:

$ narcissus &

It will automatically detect a connected device and start interpreting keys.
There are some options; try -h to see them.

To use the tutor:

$ nartutor [-l] [-f]

should be a wordlist; if you don't specify the -f option, then
/usr/share/dict/words is used.

is the start level; i.e. the number of letters you know. If you don't
specify the -l option, you start at 1.

nartutor will show you the keymap for your device at the level you chose, and
then prompt you with words to type in. When it runs out of words, it'll
advance to the next level. If you get bored, ^C it and increase the level
manually.

The keymap is not documented because it's still in flux and the documentation
would be instantly wrong --- see src/razer-nostromo.c instead. However, as
a general rule:

* Combinations on the top row produce lower case letters
* The same combinations on the middle row produce upper case letters
* Button 11 is a modifier which causes the top two rows to produce the
obvious numbers
* The thumb button is a modifier which acts as control on the top row and
alt on the middle row (sorry, no meta or more complex combinations yet)
* Symbols, space, delete and return are produced by combinations spanning
the top two rows.

ISSUES
======

It's not very configurable (read: not configurable), the keymap is subject to
change without notice, and nartutor only knows about alphabetic keys.

LICENSE
=======

Narcissus is available under the two-clause BSD license. Please see the
COPYING file for the full text.

REVISION HISTORY
================

Version 0.1, 2015-03-04: First release!

THE AUTHOR
==========

Narcissus was written by me, David Given. You may contact me at [email protected],
or visit my website at http://www.cowlark.com. There may or may not be
anything interesting there.