{"id":18765203,"url":"https://github.com/illdefined/keystat","last_synced_at":"2025-04-13T05:10:53.035Z","repository":{"id":1474274,"uuid":"1716546","full_name":"illdefined/keystat","owner":"illdefined","description":"Keyboard statistics generator","archived":false,"fork":false,"pushed_at":"2021-03-15T10:53:18.000Z","size":33,"stargazers_count":6,"open_issues_count":0,"forks_count":0,"subscribers_count":3,"default_branch":"master","last_synced_at":"2025-03-26T22:02:38.850Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/illdefined.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null}},"created_at":"2011-05-07T20:00:09.000Z","updated_at":"2024-09-18T00:39:16.000Z","dependencies_parsed_at":"2022-07-29T17:39:52.180Z","dependency_job_id":null,"html_url":"https://github.com/illdefined/keystat","commit_stats":null,"previous_names":[],"tags_count":0,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fkeystat","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fkeystat/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fkeystat/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/illdefined%2Fkeystat/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/illdefined","download_url":"https://codeload.github.com/illdefined/keystat/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":248665747,"owners_count":21142123,"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-07T18:33:10.307Z","updated_at":"2025-04-13T05:10:53.010Z","avatar_url":"https://github.com/illdefined.png","language":"C","funding_links":[],"categories":[],"sub_categories":[],"readme":"# keystat\nKeyboard statistics generator\n\n**keystat** is a C programme to create realistic typing cost models that can be used to optimise keyboard layouts. It does so by recording the average time for each sequence of three key presses (a triplet).\n\n## Installation\nTo install **keystat** simply run:\n\n```\nmake\nsudo make install\n```\n\n## Usage\n**keystat** comes equipped with a systemd service unit that will work without configuration on most x86‐based computer platforms.\n\nOn other platforms or when your primary keyboard is attached via USB, the event device specified by the variable `KEYSTAT_DEV` in the environment file `/etc/default/keystat` may have to be changed. To find the correct one, take a look into `/dev/input/by-path/` and identify those ending in `-kbd`.\n\nIf there is more than one, `cat` them and see which of them generates output when you type on the keyboard.\n\n## Output\n`keystat-capture` stores the triplet data in the map file given as first command‐line argument. This file can be inspected with `keystat‐dump`, yielding a table of space‐separated values:\n\n```\nsudo keystat-dump /var/lib/keystat/map\n```\n\nThe first three columns are the scan codes of the triplet. The fourth column gives the number of times this triplet was recorded and the last one the average time it took to type it.\n\nFor convenience, the `keystat-translate` tool translates the scan codes to symbolic names according to your xmodmap.\nIf you haven't installed `xmodmap` you need to specify the parameter `--keymap-source=linux/input.h` to translate the scan codes according to the Linux kernel headers.\nPlease keep in mind that the codes in the Linux kernel header specify the layout of a standard US keyboard.\n\n```\nsudo keystat-dump /var/lib/keystat/map | keystat-translate\n```\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filldefined%2Fkeystat","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Filldefined%2Fkeystat","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Filldefined%2Fkeystat/lists"}