Go to file
Zsombor Barna 3ed7b2eac6 re-add config 2024-04-16 13:07:59 +02:00
actkbd re-add config 2024-04-16 13:07:59 +02:00
.editorconfig update packaging 2024-04-15 15:25:13 +02:00
.gitignore move gerbil to source 2024-04-15 15:32:09 +02:00
COPYING move stuff around 2024-04-16 13:05:15 +02:00
ChangeLog update packaging 2024-04-15 15:25:13 +02:00
Makefile add loading stuff and edit makefile 2024-04-16 13:05:29 +02:00
README.org update README 2024-02-16 00:31:21 +01:00
TODO.org update packaging 2024-04-15 15:25:13 +02:00
actkbd.1 move stuff around 2024-04-16 13:05:15 +02:00
actkbd.scm.5 move stuff around 2024-04-16 13:05:15 +02:00
actkbd.service move stuff around 2024-04-16 13:05:15 +02:00
actkbd.texi move stuff around 2024-04-16 13:05:15 +02:00
build.ss move stuff around 2024-04-16 13:05:15 +02:00
gerbil.pkg move stuff around 2024-04-16 13:05:15 +02:00
rulegen.sh move stuff around 2024-04-16 13:05:15 +02:00

README.org

actkbd - A keyboard shortcut daemon

Actkbd is a simple daemon that binds actions to keyboard events. Its main aim is to provide a macro keyboard for the linux tty or the pty.

It uses Guile scheme configuration from a provided file. This method is inspired by xbindkeys. Actkbd comes with goodies to make the configuration easier.

Installation

Prerequisitions:

  • texinfo, guile, and guile-dev, make, pkg-config, and a POSIX-compatible shell.

Run the following commands from the root directory of the repository or the package.

	package/compile

You can override the CFLAGS variable to provide optimisation flags e.t.c.

Bear in mind that currently the location of the configuration file, and the device must be explicitly specified (-c) in the actkbd command line options.

Configuration

The recommended way to run actkbd is through a systemd user service that is wanted by a device with udev rules. An example configuration is provided in the package. After going though the installation procedure, the can be found in the doc directory. Before that, they reside in the source directory.

The configuration file is a guile scheme source file.

A sample actkbd.scm file is included in the actkbd distribution.

FAQ

Why yet another keyboard daemon?

Because I wanted a daemon that control emacs in the tty or pty. I look around for on that is:

  • is small and simple
  • is NOT X Window based
  • can be extended through scripting

What does the name mean?

Simply that actkbd ACTs on KeyBoarD events.

Are release events useful?

Yes, I think so. A common example could be that of a battery monitor. You want it to appear when you press a key and then disappear (i.e. be terminated) when you release it, without having to manually kill it each time.

How can I help?

  • Test it.
  • Report any bugs.
  • Write more goodies.
  • Ideas, suggestions e.t.c. are welcome. Patches even more!
  • Occasionally you may drop a line to say that it worked for you. Positive feedback is just as important.

Authors and license

The tree under source/

These parts are under GPLv2.

Actkbd originally written by Theodoros Kalamatianos, a student at the department of Electric and Computer Engineering of the National Technical University of Athens.

It was continued in a few commits by others on github, but none of that code is in the program anymore.

Zsombor Barna started working on it in december 2023. He previously worked on a personal for of xbindkeys. He looked at the sources and documentation of xbindkeys on how to handle Guile and sxhkd for guidance on what CLI interface should the program provide. He reimplemented actkbd according to advice on daemons from Jonathan de Boyne Pollard.

The tree under /package

This was adapted from Jonathan de Boyne Pollard's redo implementation, and therefore licensed under the ISC licence.

According to his words:

However, in order to avoid BSD Licence Hell, it may be considered copyright licenced under the terms of any of:

  • The ISC licence,
  • The Simplified (2 clause) BSD licence,
  • The FreeBSD licence,
  • The MIT "Expat" licence.