{"id":19789530,"url":"https://github.com/webfreak001/xkeybind","last_synced_at":"2026-03-03T07:40:47.708Z","repository":{"id":146628734,"uuid":"48894699","full_name":"WebFreak001/XKeyBinD","owner":"WebFreak001","description":"Interface for global keyboard shortcuts on X11 in D applications.","archived":false,"fork":false,"pushed_at":"2016-01-02T01:19:44.000Z","size":3,"stargazers_count":5,"open_issues_count":2,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-01-11T04:13:06.348Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"D","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/WebFreak001.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}},"created_at":"2016-01-02T01:14:07.000Z","updated_at":"2019-05-15T19:17:32.000Z","dependencies_parsed_at":"2023-04-17T11:34:58.280Z","dependency_job_id":null,"html_url":"https://github.com/WebFreak001/XKeyBinD","commit_stats":null,"previous_names":[],"tags_count":1,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FXKeyBinD","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FXKeyBinD/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FXKeyBinD/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/WebFreak001%2FXKeyBinD/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/WebFreak001","download_url":"https://codeload.github.com/WebFreak001/XKeyBinD/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":241126376,"owners_count":19914001,"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":[],"created_at":"2024-11-12T06:33:51.772Z","updated_at":"2026-03-03T07:40:47.648Z","avatar_url":"https://github.com/WebFreak001.png","language":"D","funding_links":[],"categories":[],"sub_categories":[],"readme":"# XKeyBinD\n\nInterface for global keyboard shortcuts on X11 in D applications.\n\n## Usage\n\n```d\nimport xkeybind;\n\nvoid main() {\n    XKeyBind.load(); // Opens a X11 display and initializes virtual modifier locations\n    // Alternatively also usable with a Modifier and an integer keycode\n    XKeyBind.bind(\"Ctrl-Shift-X\", (mod, key) { // Binds a key from a string (see notation below) with a handler\n        writeln(\"Pressed!\");\n        XKeyBind.unbind(\"Ctrl-Shift-X\"); // Unbinds all handlers from a key\n    });\n\n    while (true) {\n        // Handle window events\n\n        XKeyBind.update(); // Handles X11 key press events and calls handlers\n    }\n}\n```\n\n## String key notation\n\n    (Modifiers-)Key\n\nAny number of modifiers combined with hyphens and a key at the end.\n\nValid modifiers:\n\n* shift\n* control\n* ctrl\n* alt, altl\n* altgr, altr\n* super, superl\n* superr\n* hyper, hyperl\n* hyperr\n* meta, metal\n* metar\n\nKeys are parsed using `XStringToKeysym`","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfreak001%2Fxkeybind","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fwebfreak001%2Fxkeybind","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fwebfreak001%2Fxkeybind/lists"}