{"id":15295109,"url":"https://github.com/andrewshadura/inputplug","last_synced_at":"2025-04-13T15:57:04.944Z","repository":{"id":47684195,"uuid":"234730367","full_name":"andrewshadura/inputplug","owner":"andrewshadura","description":"XInput event monitor daemon","archived":false,"fork":false,"pushed_at":"2024-02-23T09:53:29.000Z","size":58,"stargazers_count":33,"open_issues_count":3,"forks_count":9,"subscribers_count":5,"default_branch":"main","last_synced_at":"2024-05-02T01:26:58.173Z","etag":null,"topics":["rust-lang","x11","xinput"],"latest_commit_sha":null,"homepage":"","language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"mit","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/andrewshadura.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE","code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2020-01-18T12:19:11.000Z","updated_at":"2024-04-04T21:20:35.000Z","dependencies_parsed_at":"2024-02-23T10:50:08.462Z","dependency_job_id":null,"html_url":"https://github.com/andrewshadura/inputplug","commit_stats":{"total_commits":79,"total_committers":6,"mean_commits":"13.166666666666666","dds":0.5063291139240507,"last_synced_commit":"a8f6cb1cdbd9dfbeeaec66f50b9c9ac4305d147d"},"previous_names":[],"tags_count":4,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewshadura%2Finputplug","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewshadura%2Finputplug/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewshadura%2Finputplug/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/andrewshadura%2Finputplug/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/andrewshadura","download_url":"https://codeload.github.com/andrewshadura/inputplug/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248741148,"owners_count":21154251,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":["rust-lang","x11","xinput"],"created_at":"2024-09-30T17:08:40.065Z","updated_at":"2025-04-13T15:57:04.923Z","avatar_url":"https://github.com/andrewshadura.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"inputplug\n=========\n\ninputplug is a very simple daemon which monitors XInput events and runs\narbitrary scripts on hierarchy change events (such as a device being\nattached, removed, enabled or disabled).\n\nTo build the project, run `cargo build`.\n\n* * *\n\n# NAME\n\ninputplug — XInput event monitor\n\n# SYNOPSIS\n\n**inputplug** \\[**-v**\\] \\[**-n**\\] \\[**-d**\\] \\[**-0**\\] **-c** _command-prefix_\n\n**inputplug** \\[**-h**|**--help**\\]\n\n# DESCRIPTION\n\n**inputplug** is a daemon which connects to a running X server\nand monitors its XInput hierarchy change events. Such events arrive\nwhen a device is being attached or removed, enabled or disabled etc.\n\nWhen a hierarchy change happens, **inputplug** parses the event notification\nstructure, and calls the command specified by _command-prefix_. The command\nreceives four arguments:\n\n* _command-prefix_ _event-type_ _device-id_ _device-type_ _device-name_\n\nEvent type may be one of the following:\n\n* _XIMasterAdded_\n* _XIMasterRemoved_\n* _XISlaveAdded_\n* _XISlaveRemoved_\n* _XISlaveAttached_\n* _XISlaveDetached_\n* _XIDeviceEnabled_\n* _XIDeviceDisabled_\n\nDevice type may be any of those:\n\n* _XIMasterPointer_\n* _XIMasterKeyboard_\n* _XISlavePointer_\n* _XISlaveKeyboard_\n* _XIFloatingSlave_\n\nDevice identifier is an integer. The device name may have embedded spaces.\n\n# OPTIONS\n\nA summary of options is included below.\n\n* **-h**, **--help**\n\n    Show help (**--help** shows more details).\n\n* **-v**\n\n    Be a bit more verbose.\n\n* **-n**\n\n    Start up, monitor events, but don't actually run anything.\n    With verbose more enabled, would print the actual command it'd\n    run. This implies **-d**.\n\n* **-d**\n\n    Don't daemonise. Run in the foreground.\n\n* **-0**\n\n    On start, trigger added and enabled events for each plugged devices. A\n    master device will trigger the \"added\" event while a slave device will\n    trigger both the \"added\" and the \"enabled\" device.\n\n* **-c** _command-prefix_\n\n    Command prefix to run. Unfortunately, currently this is passed to\n    [execvp(3)](http://manpages.debian.org/execvp) directly, so spaces aren't allowed. This is subject to\n    change in future.\n\n* **-p** _pidfile_\n\n    Write the process ID of the running daemon to the file _pidfile_\n\n# ENVIRONMENT\n\n* _DISPLAY_\n\n    X11 display to connect to.\n\n# SEE ALSO\n\n[xinput(1)](http://manpages.debian.org/xinput)\n\n# COPYRIGHT\n\nCopyright (C) 2013, 2014, 2018, 2020, 2021 Andrej Shadura.\n\nCopyright (C) 2014, 2020 Vincent Bernat.\n\nLicensed as MIT/X11.\n\n# AUTHOR\n\nAndrej Shadura \u003candrewsh@debian.org\u003e\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewshadura%2Finputplug","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fandrewshadura%2Finputplug","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fandrewshadura%2Finputplug/lists"}