Libraries

stmm-input

Latest version: 0.15

Device input event library


Debian binary packages (amd64 architecture)

For Debian based Linux distros like Debian, Ubuntu, Linux Mint, etc.

Hardware: PCs (x86-64 or amd64 CPUs)

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite packages

$ sudo apt-get install libgtkmm-3.0-1v5

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-input-0.15-1-deb-amd64-d09.tar.gz
$ sha256sum stmm-input-0.15-1-deb-amd64-d09.tar.gz    # should return
$ # 0455a690f6da75b9cfbb03844a130ecad9aa595f8d048003ada3f0ae6c80ab77
$ tar xvz -f stmm-input-0.15-1-deb-amd64-d09.tar.gz
$ cd stmm-input-0.15
$ ./install-bin.sh    # with -d also development debs are installed

Uninstall

From the same directory of install-bin.sh
$ # Remember to uninstall dependant projects first !
$ ./uninstall-bin.sh    # with -d also development debs are uninstalled

Arch binary package (amd64 architecture)

For Linux Arch based distros like Arch, Manjaro, etc.

Hardware: PCs (x86-64 or amd64 CPUs)

This project is also available in the AUR (Arch User Repository) at https://aur.archlinux.org/packages/stmm-input/.

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite packages

$ sudo pacman -S gtkmm3

Download and install

$ wget https://www.efanomars.com/bins/stmm-input-0.15-1-arch-amd64-m.pkg.tar.xz
$ sha256sum stmm-input-0.15-1-arch-amd64-m.pkg.tar.xz    # should return
$ # 4bb1ad11ede6aeaa179888c6a9fd376aab76065d43b4e1718e0ab26581f454cd
$ sudo pacman -U stmm-input-0.15-1-arch-amd64-m.pkg.tar.xz

Uninstall

$ sudo pacman -R stmm-input

Debian binary packages (arm64 architecture)

For Debian based Linux distros like Raspberry Pi OS, Debian, Ubuntu, etc.

Hardware: Raspberry Pi 4, PineBook

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite packages

$ sudo apt-get install libgtkmm-3.0-1v5

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-input-0.15-1-deb-arm64-d09.tar.gz
$ sha256sum stmm-input-0.15-1-deb-arm64-d09.tar.gz    # should return
$ # 44e379a3195b099f7a5937e2bfad22bbec52bc65ae6c48a4dffafae16922351a
$ tar xvz -f stmm-input-0.15-1-deb-arm64-d09.tar.gz
$ cd stmm-input-0.15
$ ./install-bin.sh    # with -d also development debs are installed

Uninstall

From the same directory of install-bin.sh
$ # Remember to uninstall dependant projects first !
$ ./uninstall-bin.sh    # with -d also development debs are uninstalled

Arch binary package (arm64 architecture)

For Linux Arch based distros like Arch, Manjaro, etc.

Hardware: PineBook, Raspberry Pi 4

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite packages

$ sudo pacman -S gtkmm3

Download and install

$ wget https://www.efanomars.com/bins/stmm-input-0.15-1-arch-arm64-m.pkg.tar.xz
$ sha256sum stmm-input-0.15-1-arch-arm64-m.pkg.tar.xz    # should return
$ # e2d69e78d217ba1262e284cae9f7d2e876ed9e01842282abe511a95b19d4fc69
$ sudo pacman -U stmm-input-0.15-1-arch-arm64-m.pkg.tar.xz

Uninstall

$ sudo pacman -R stmm-input

Debian binary packages (armhf architecture)

For Debian based Linux distros like Raspberry Pi OS, Debian, Ubuntu, etc.

Hardware: Raspberry Pi 3B+

Note: the sudo package must be installed and your user must have permission to execute commands as superuser.

Prerequisite packages

$ sudo apt-get install libgtkmm-3.0-1v5

Download, unzip and install

$ wget https://www.efanomars.com/bins/stmm-input-0.15-1-deb-armhf-d09.tar.gz
$ sha256sum stmm-input-0.15-1-deb-armhf-d09.tar.gz    # should return
$ # 10ca7b3ed32dfecbf12b3c1338c7d15e9c1a5609064aa6ecffa67ca98025182f
$ tar xvz -f stmm-input-0.15-1-deb-armhf-d09.tar.gz
$ cd stmm-input-0.15
$ ./install-bin.sh    # with -d also development debs are installed

Uninstall

From the same directory of install-bin.sh
$ # Remember to uninstall dependant projects first !
$ ./uninstall-bin.sh    # with -d also development debs are uninstalled

Other linux distributions or architectures

Prerequisite packages

Download, build and install

$ git clone https://gitlab.com/efanomars/stmm-input.git
$ cd stmm-input
$ STMM_MAKE_OPTIONS="--jobs=4"   ./scripts/install_stmm-input-all.py -b=Release

Uninstall

$ ./scripts/uninstall_stmm-input-all.py

Source code

Gitlab: https://gitlab.com/efanomars/stmm-input

Tarball: https://www.efanomars.com/sources/stmm-input-0.15.tar.gz

(sha256sum: 7e7722e88f705419cff12bdce2b512bd647b6369ddc77a4a33354382dbdbef49)

Contents

This source package contains:
  • libstmm-input: library that defines the platform-independent core interfaces for events, devices, capabilities, device managers and event listeners.
  • libstmm-input-base: library of helper classes to ease the implementation and composition of device managers.
  • libstmm-input-dl: library that implemens a plugin device manager which loads other device managers at run-time as children.
  • libstmm-input-ev: library that defines a set of event types suitable for games.
  • libstmm-input-gtk: library that defines a Gtk::Window accessor for device managers.
  • libstmm-input-gtk-dm: library that implements a device manager that integrates into Gtk’s main event loop sending events defined by libstmm-input-ev to listeners (keyboard, mouse, touch and joysticks).
  • libstmm-input-fake: library meant for developers that need to simulate a device manager to feed their test code with events defined by libstmm-input-ev.
  • stmm-input-plugins: command line utility to list, enable and disable the plugin device managers loaded by the libstmm-input-dl library.