A library to listen to global hotkeys in Rust

Overview

Rust Hotkey

A library to listen to global hotkeys in Rust

How to use

See the examples folder for how to use this library.

OS Support

This lib aims to be cross platform. The currently supported platforms are:

  • Windows
  • Linux (X11)
You might also like...
🔮 Futuristic take on hexdump, made in Rust.
🔮 Futuristic take on hexdump, made in Rust.

hex (hx) Futuristic take on hexdump. hx accepts a file path as input and outputs a hexadecimal colorized view to stdout. $ hx tests/files/alphanumeric

Cross-platform Rust rewrite of the GNU coreutils

uutils coreutils uutils is an attempt at writing universal (as in cross-platform) CLI utilities in Rust. This repository is intended to aggregate GNU

A TUI system monitor written in Rust
A TUI system monitor written in Rust

NO LONGER MAINTAINED. For a similar program, check out https://github.com/ClementTsang/bottom. ytop Another TUI based system monitor, this time in Rus

A rust layered configuration loader with zero-boilerplate configuration management.

salak A layered configuration loader with zero-boilerplate configuration management. About Features Placeholder Key Convension Cargo Features Default

Untrusted IPC with maximum performance and minimum latency. On Rust, on Linux.

Untrusted IPC with maximum performance and minimum latency. On Rust, on Linux. When is this Rust crate useful? Performance or latency is crucial, and

An over-engineered rewrite of pipes.sh in Rust
An over-engineered rewrite of pipes.sh in Rust

pipes-rs An over-engineered rewrite of pipes.sh in Rust Installlation macOS Install using Homebrew or download manually from releases. $ brew install

Trup-rewrite in rust! Finally!

Trup, but Rust! A Discord bot for the Unixporn community Now written in a good language! Dependencies Rust nightly sqlx-cli (if you need to change the

A collection of small Rust programs for doing weird things

This is a repo of small programs, proof of concepts, or templates written in Rust that relate in some way to hacking and/or CTF. I think Rust is real

🍂 A Rust-based simulated DOM (browser-independent replacement for web_sys)
🍂 A Rust-based simulated DOM (browser-independent replacement for web_sys)

DOM in Rust without a browser Hello and welcome. This library provides server-side or browserless simulation of a DOM. Example Usage use std::sync::Ar

Comments
  • Allows to quit on `WM_QUIT` message for Windows

    Allows to quit on `WM_QUIT` message for Windows

    Pull requests consist of the following changes:

    • constant's type changed from u32 to i32 to stay consistant with winapi constant's type
    • listen method modified to interupt infinite loop when WM_QUIT message received
    • added post_quit_message helper function that simply calls PostQuitMessage that sends WM_QUIT
    • added a bit of docs for listen and post_quit_message

    From PostQuitMessage docs:

    Indicates to the system that a thread has made a request to terminate (quit).

    I have verified that posting WM_QUIT by calling PostQuitMessage message from different process have no effect on the listen loop.

    opened by koutoftimer 2
  • `mem::MaybeUninit::uninit().assume_init()` is undefined behavior

    `mem::MaybeUninit::uninit().assume_init()` is undefined behavior

    There are a couple places in the code where you do something along the lines of

    let mut event: SomeType = mem::MaybeUninit::uninit().assume_init();
    

    This is immediately undefined behavior, regardless of the type. The 2 scenarios I have seen this in the codebase are in the context of a C-style return parameter, so the fix is rather simple.

    let mut event: MaybeUninit<SomeType> = mem::MaybeUninit::uninit();
    // Maybe attempt to handle a potential int-code error this function may return?
    get_event(event.as_mut_ptr());
    let event: SomeType = event.assume_init();
    
    opened by MarkDDR 2
  • macOS support

    macOS support

    Is this library still maintained? There's some forks with macOS support (https://github.com/gamebooster/soundboard/blob/master/extern/hotkey-rs/src/macos.rs) but I didn't test it yet. Would you accept a PR with that?

    opened by lucasfernog 1
  • don't work on linux

    don't work on linux

    hi, i'm using

    • Ubuntu 19.10
    • Kernel: x86_64 Linux 5.3.0-23-generi
    • Xserver 1:7.7+19ubuntu12
    • rustc 1.39.0 (4560ea788 2019-11-04)

    and it's not work. also i don't have any error. tested on :

    • https://github.com/geeksesi/HelloRust/tree/master/shortcut_test
    • https://github.com/geeksesi/do0ir-cli

    but it's ok on windows.

    opened by geeksesi 3
Owner
James Birtles
Working full time on @AircastDev
James Birtles
Parallel iterator processing library for Rust

Parallel iterator processing library for Rust I keep needing one, so I wrote it. See [IteratorExt] for supported operations. In essence, if you have:

Dawid Ciężarkiewicz 82 Dec 31, 2022
minimalistic command launcher in rust

rrun Note: Apart from the occasional fix, this project is not actively developed anymore. rrun works fine and should run/compile for the time being on

null 105 Nov 18, 2022
Yet another fancy watcher. (Rust)

funzzy Yet another fancy watcher. (Inspired by antr / entr) Configure execution of different commands using semantic yaml. # .watch.yaml # list here a

Cristian Oliveira 188 Dec 12, 2022
A modern replacement for ps written in Rust

procs procs is a replacement for ps written in Rust. Documentation quick links Features Platform Installation Usage Configuration Features Output by t

null 3.6k Jan 5, 2023
A more intuitive version of du in rust

Dust du + rust = dust. Like du but more intuitive. Why Because I want an easy way to see where my disk is being used. Demo Install Cargo cargo install

andy.boot 5.5k Jan 8, 2023
Blazing 💥 fast terminal-ui for git written in rust 🦀

Blazing fast terminal client for git written in Rust Features Fast and intuitive keyboard only control Context based help (no need to memorize tons of

Stephan Dilly 11.8k Jan 5, 2023
A simple and fast download accelerator, written in Rust

zou A simple and fast download accelerator, written in Rust Zou is a Snatch fork by @k0pernicus. Snatch is a fast and interruptable download accelerat

Antonin Carette 173 Dec 4, 2022
Fuzzy Finder in rust!

Life is short, skim! Half of our life is spent on navigation: files, lines, commands… You need skim! It is a general fuzzy finder that saves you time.

Jinzhou Zhang 3.7k Jan 4, 2023
A bash-like Unix shell written in Rust

Cicada Unix Shell Cicada is a simple Unix shell written in Rust. Documents Install cicada Environment Variables Cicada Builtins Completion RC File His

Hugo Wang 921 Dec 28, 2022
Performs distributed command execution, written in Rust w/ Tokio

Concurr: Distributed and Concurrent Command Execution, in Rust This project is dual licensed under MIT and Apache 2.0. Originally inspired by the GNU

Michael Murphy 93 Dec 18, 2022