{"id":20551960,"url":"https://github.com/chrontax/owopad","last_synced_at":"2025-03-06T05:48:12.641Z","repository":{"id":228569180,"uuid":"774345516","full_name":"chrontax/owopad","owner":"chrontax","description":"Alternative firmware for the minipad","archived":false,"fork":false,"pushed_at":"2024-05-01T18:15:01.000Z","size":25,"stargazers_count":1,"open_issues_count":0,"forks_count":0,"subscribers_count":1,"default_branch":"master","last_synced_at":"2025-01-16T17:01:26.826Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":null,"language":"Rust","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"apache-2.0","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/chrontax.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE-APACHE","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":"2024-03-19T11:43:23.000Z","updated_at":"2024-05-01T18:15:05.000Z","dependencies_parsed_at":"2024-03-19T13:20:39.004Z","dependency_job_id":"4b3adba4-50b0-438d-a165-da0609e3671f","html_url":"https://github.com/chrontax/owopad","commit_stats":null,"previous_names":["chrontax/owopad"],"tags_count":3,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrontax%2Fowopad","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrontax%2Fowopad/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrontax%2Fowopad/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/chrontax%2Fowopad/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/chrontax","download_url":"https://codeload.github.com/chrontax/owopad/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":242157192,"owners_count":20081037,"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-16T02:34:38.204Z","updated_at":"2025-03-06T05:48:12.620Z","avatar_url":"https://github.com/chrontax.png","language":"Rust","funding_links":[],"categories":[],"sub_categories":[],"readme":"# OwOpad\n\nAlternative firmware for the [minipad](https://github.com/minipadkb/minipad)\n\nThis firmware unlike the official doesn't bind keys 1 to 1, it uses key sequences for typing.\n\n## Features:\n* unlimited keys via sequences,\n* rapid trigger,\n* configuration via serial.\n\n## Installation\n\nDownload a release or build:\n```bash\ncargo build --release\ncd target/thumbv6m-none-eabi/release\nelf2uf2-rs owopad\n```\n\nAnd flash:\n```bash\npicotool load owopad.uf2\npicotool reboot\n```\n\nBy default there are no defined keybinds\n\n## Configuration\n\nThere is a utility for configuration: [OwOtility](https://github.com/chrontax/owotility)\n\n### Serial Commands\nAll returned numbers are in little endian\n\n#### `save`\nSave current binds and key configuration to flash\n\n#### `boot`\nPuts the keypad into BOOTSEL mode\n\n#### `echo\u003cwhatever\u003e`\nSends back whatever you tell it to\n\n#### `adc`\nSends last adc readings as [u16; 3]\n\n#### `depth`\nSends last calculated key depth as [u16; 3]\n\n#### `consts`\nSends firmware constants `[NODE_COUNT, SWITCH_TRAVEL, AUTOCALIBRATION_DEADZONE]` as [u16; 3]\n\n#### `time`\nSends last main loop time as u64\n\n#### `clear`\nClears all keybinds\n\n#### `kreset`\nResets key configuration\n\n#### `config`\nSends key configuration as [KeyConfig; 3] where KeyConfig:\n```rust\nstruct KeyConfig {\n    rt_up: u16,\n    rt_down: u16,\n    min: u16,\n    max: u16,\n}\n```\n\n#### `nodes`\nSends the table of nodes which is the tree representing keybinds as [Node; 1024] where Node:\n```rust\nstruct Node {\n    children: [u16; 3],\n    key: Option\u003cKeyboard\u003e, // usb hid scancode\n}\n```\n\n#### `key\u003ci:u16\u003e.\u003ck:str\u003e=\u003cv:u16\u003e`\nSets config property `k` of key of id `i` (zero-indexed) to `v`\n\n#### `bind\u003cseq:str\u003e:\u003ck:key\u003e`\nSets sequence `seq` (keys, e.g. `LRM` for a seqence of: left key, right key, middle key) to correspond to key `k`. Besides the obvious characters `k` can be:\n* `F\u003c1..=12\u003e` for function keys,\n* `_RIGHT`, `_LEFT`, `_UP`, `_DOWN` for arrows,\n* self explanatory: `_ENTER`, `_ESC`, `_TAB`, `_BACKSP`, `_CAPS`, `_PS`, `_INS`, `_HOME`, `_PGUP`, `_DEL`, `_END`, `_PGDOWN`, `_LCTRL`, `_LSHIFT`, `_LALT`, `_RCTRL`, `_RSHIFT`, `_RALT`.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrontax%2Fowopad","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fchrontax%2Fowopad","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fchrontax%2Fowopad/lists"}