Linux Advanced keyboard customizer

Overview

A multi-mode, rule-based keyboard customizer

Features

  • Key Remapping
  • Execute command

Install

$ git clone https://github.com/Hanaasagi/XBurner
$ cd XBurner
$ cargo install --path .

Usage

USAGE:
    XBurner [OPTIONS] 
   
    

OPTIONS:
    -h, --help       Print help information
        --silent     Suppress output of all key events
    -v, --verbose
    -V, --version    Print version information

SUBCOMMANDS:
    echo           Echo key infomation that you typed
    help           Print this message or the help of the given subcommand(s)
    list-device    List devices infomation of this computer
    list-keys      List supported keys reported by the device
    run

   

Configuration

See exmaple.yml.

Q&A

How to know device path?

$ XBurner list-device
Trying to scan all of /dev/input
Available devices:
/dev/input/event0   : Power Button
/dev/input/event1   : Lid Switch
/dev/input/event2   : AT Translated Set 2 keyboard
/dev/input/event3   : Video Bus
/dev/input/event4   : PC Speaker
/dev/input/event5   : Ideapad extra buttons
/dev/input/event6   : CUST0001:00 06CB:CE44 Mouse
/dev/input/event7   : CUST0001:00 06CB:CE44 Touchpad
/dev/input/event8   : HD-Audio Generic HDMI/DP,pcm=3
/dev/input/event9   : HD-Audio Generic HDMI/DP,pcm=7
/dev/input/event10  : HD-Audio Generic HDMI/DP,pcm=8
/dev/input/event11  : HD-Audio Generic Mic
/dev/input/event12  : HD-Audio Generic Headphone
/dev/input/event13  : PixArt USB Optical Mouse
/dev/input/event14  : Topre Corporation HHKB Professional
/dev/input/event15  : Integrated Camera: Integrated C
/dev/input/event16  : XBurner

How to know key name?

Just run XBurner echo --device and press keyboard.

$ XBurner echo --device 
   
    
Timestamp: 1640964235146         PRESS          Kind: Key(KEY_A)
aTimestamp: 1640964235226        RELEASE        Kind: Key(KEY_A)

   

License

GNU General Public License v3.0

You might also like...
Advanced Rust quantum computer simulator

quantum Advanced Rust quantum computer simulator. Motivation Quantum is a quantum computer simulator written with the following design goals in mind:

Command-line client for WebSockets, like netcat (or curl) for ws:// with advanced socat-like functions

websocat Netcat, curl and socat for WebSockets. Examples Connect to public echo server $ websocat ws://echo.websocket.org 123 123 ABC ABC Serve and c

An advanced geospatial data analysis platform
An advanced geospatial data analysis platform

Bringing the power of Whitebox GAT to the world at large This page is related to the stand-alone command-line program and Python scripting API for geo

The most advanced Merkle tree library for Rust

rs-merkle rs-merkle is the most advanced Merkle tree library for Rust. Basic features include building a Merkle tree, creation, and verification of Me

A library for advanced finite element computations in Rust
A library for advanced finite element computations in Rust

A Rust library for building advanced applications with the Finite Element Method (FEM). Although developed with a special emphasis on solid mechanics

Session-lived containers for advanced browser-based applications.
Session-lived containers for advanced browser-based applications.

Spawner is a bridge between a web application and Kuberenetes. It allows a web application to create session-lived containers that serve WebSocket or HTTP connections.

Advanced configuration options for sockets.

socket2-rs Documentation License This project is licensed under either of Apache License, Version 2.0, (LICENSE-APACHE or http://www.apache.org/licens

An advanced, reactive UI library for Rust

An advanced, reactive UI library for Rust Report a Bug · Request a Feature . Ask a Question What is agui? Agui is an advanced reactive GUI project for

An advanced image processing library for Rust.

ImageProc Maintainers: @chyh1990 Note: this project is under active depvelopment, API may change! imageproc is a advanced image proccessing library fo

A Rust library with homemade machine learning models to classify the MNIST dataset. Built in an attempt to get familiar with advanced Rust concepts.

mnist-classifier Ideas UPDATED: Finish CLI Flags Parallelize conputationally intensive functions Class-based naive bayes README Image parsing Confusio

Parser for Object files define the geometry and other properties for objects in Wavefront's Advanced Visualizer.

format of the Rust library load locad blender obj file to Rust NDArray. cargo run test\t10k-images.idx3-ubyte A png file will be generated for the fi

The Fastest and most Advanced Ethereum Client

The Fastest and most Advanced Ethereum Client. » Download the latest release « Table of Contents Description Technical Overview Building 3.1 Building

Heimdall is an advanced Ethereum smart contract toolkit for forensic and heuristic analysis.
Heimdall is an advanced Ethereum smart contract toolkit for forensic and heuristic analysis.

Heimdall is an advanced EVM toolkit which aims to make dealing with smart contracts on EVM based chains easier. Installation & Usage Heimdall's update

Advanced image to ascii art fully created with rust 🦀 🚀
Advanced image to ascii art fully created with rust 🦀 🚀

RASCII image to ascii art fully created with rust 🦀 🚀 multiple language character lists - ✔️ creatable custom char list - ✔️ pixel art creaton -

A customizable MCTS planner with advanced featured tailored to multi-agent simulations and emergent narratives.
A customizable MCTS planner with advanced featured tailored to multi-agent simulations and emergent narratives.

NPC engine Core:  Utils:  © 2020-2022 ETH Zurich and other contributors. See AUTHORS.txt for more details. A customizable Monte Carlo Tree Search (MCT

zk-rollup in rust for the advanced security and privacy course

Efficient zk-Rollup Implementation in Rust This repository contains a simple, single transaction, zero-knowledge rollup made in Rust. We have combined

RustRedOps is a repository dedicated to gathering and sharing advanced techniques and malware for Red Team, with a specific focus on the Rust programming language. (In Construction)

RustRedOps In Construction.... The project is still under development Overview RustRedOps is a repository that houses various tools and projects relat

Simple git/hg tui client focused on keyboard shortcuts
Simple git/hg tui client focused on keyboard shortcuts

verco A simple Git/Hg tui client focused on keyboard shortcuts Screenshots Platforms This project uses Cargo and pure Rust stable and works on latest

A library for simulating mouse and keyboard events

The Fat Controller TFC is a library for simulating mouse and keyboard events. This library was built for use by TFC-server, a server that allows for r

Owner
秋葉
もう頑張りたくない 😴
秋葉
A keyboard layout optimizer for layouts of the

Keyboard Layout Optimizer Neo variant layout optimizer written in rust. The optimizer is based on the "evolve-keyboard-layout" scripts by ArneBab. It

Dario Götz 29 Jan 4, 2023
Easier joystick, mouse and keyboard input handling in Bevy

Easier joystick, mouse and keyboard input handling in Bevy

Pedro Henrique 31 Dec 20, 2022
69-key split mechanical keyboard (PCB, case, firmware)

ErgoNICE An open source 69-key column-staggered split mechanical keyboard with a rotary knob, extra connectors, a 3D printed case with "floating key"

null 12 Oct 1, 2022
ESP32-C3 interfacing to a PS/2 Keyboard (bare-metal Rust)

ESP32-C3 interfacing to a PS/2 Keyboard (bare-metal Rust) Very simplified example of connecting a PS/2 keyboard to ESP32-C3 You need to build it with

Björn Quentin 3 Dec 5, 2022
A scripting language that allows complex key remapping on Linux.

Map2 A scripting language that allows complex key remapping on Linux, written in Rust. All of the functionality related to interacting with graphical

Matt 99 Dec 6, 2022
A shiny new package manager written in rust explicitly for gemlock/linux and it's distributions

Gem A shiny new package manager written in rust explicitly for gemlock/linux and it's distributions. List of content How to setup Systems Ubuntu Arch

Gemlock 1 Feb 22, 2022
Building a better screen reader for the Linux desktop, one step at a time.

Building a better screen reader for the Linux desktop, one step at a time.

Odilia 44 Dec 31, 2022
Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...

LibAFL, the fuzzer library. Advanced Fuzzing Library - Slot your own fuzzers together and extend their features using Rust. LibAFL is written and main

Advanced Fuzzing League ++ 1.2k Dec 29, 2022
Advanced Fuzzing Library - Slot your Fuzzer together in Rust! Scales across cores and machines. For Windows, Android, MacOS, Linux, no_std, ...

LibAFL, the fuzzer library. Advanced Fuzzing Library - Slot your own fuzzers together and extend their features using Rust. LibAFL is written and main

Advanced Fuzzing League ++ 1.2k Jan 6, 2023
The PC-based component of a two-part Linux driver for using a TI calculator as an external keyboard

Introduction i68apollo is the computer-based component of the two-part i68 (*I*nput from Motorola *68*000[fn:4]-based calculator) prototype userspace

Joseph Burke 4 Aug 17, 2024