{"id":15721957,"url":"https://github.com/mrwormhole/virtual-keyboard","last_synced_at":"2025-03-30T23:12:38.962Z","repository":{"id":215981560,"uuid":"740167204","full_name":"mrwormhole/virtual-keyboard","owner":"mrwormhole","description":"Virtual keyboard for different language layouts :tiger:","archived":false,"fork":false,"pushed_at":"2025-02-11T23:24:00.000Z","size":660,"stargazers_count":0,"open_issues_count":0,"forks_count":1,"subscribers_count":1,"default_branch":"main","last_synced_at":"2025-03-25T04:57:51.668Z","etag":null,"topics":["gtk4","onscreen-keyboard","virtual-keyboard"],"latest_commit_sha":null,"homepage":"","language":"Python","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/mrwormhole.png","metadata":{"files":{"readme":"README.md","changelog":null,"contributing":null,"funding":null,"license":"LICENSE.md","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-01-07T18:06:26.000Z","updated_at":"2025-02-11T23:24:03.000Z","dependencies_parsed_at":"2024-03-02T03:24:53.055Z","dependency_job_id":"a796fe2e-d843-47f5-9568-a9e8691ceeee","html_url":"https://github.com/mrwormhole/virtual-keyboard","commit_stats":{"total_commits":60,"total_committers":1,"mean_commits":60.0,"dds":0.0,"last_synced_commit":"daa3cee2da4d3460bf7e344d9b6bcd7085f5c69d"},"previous_names":["mrwormhole/virtual-keyboard"],"tags_count":7,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrwormhole%2Fvirtual-keyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrwormhole%2Fvirtual-keyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrwormhole%2Fvirtual-keyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/mrwormhole%2Fvirtual-keyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/mrwormhole","download_url":"https://codeload.github.com/mrwormhole/virtual-keyboard/tar.gz/refs/heads/main","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":246390873,"owners_count":20769478,"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":["gtk4","onscreen-keyboard","virtual-keyboard"],"created_at":"2024-10-03T22:02:07.484Z","updated_at":"2025-03-30T23:12:38.956Z","avatar_url":"https://github.com/mrwormhole.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# virtual-keyboard\n\n[![Version](https://img.shields.io/github/tag/mrwormhole/virtual-keyboard.svg)](https://github.com/mrwormhole/virtual-keyboard/tags)\n[![CI Build](https://github.com/mrwormhole/virtual-keyboard/actions/workflows/tests.yaml/badge.svg)](https://github.com/mrwormhole/virtual-keyboard/actions/workflows/tests.yaml)\n[![License](https://img.shields.io/github/license/mrwormhole/virtual-keyboard)](https://github.com/mrwormhole/virtual-keyboard/blob/main/LICENSE)\n\nI have realized I need some sort of virtual keyboard so that I can type different alphabets faster with UK keyboard layout.\n\nI have been inspired by [this website](https://www.branah.com/) in my trilingual language journey.\n\n![screenshot](screenshots/screenshot.png)\n\n### Dependencies\n\n- Python (\u003e=3.13) download [here](https://www.python.org/downloads/)\n- GTK (\u003e=4) download [here](https://pygobject.gnome.org/getting_started.html)\n- Sarabun font download [here](https://fonts.google.com/specimen/Sarabun)\n\nRun with python\n\n```shell\nuv sync\npython ./keyboard.py\n```\n\nOr roll your own binary\n\n```shell\nuv sync --all-extras --dev\nuv run pyinstaller keyboard.spec\n./dist/keyboard\n```\n\n### Linux Binaries\n\nRun the command below after understanding what it does\n\n```shell\nVERSION=\"1.0.1\" PYVERSION=\"3.12.8\" GLIBVERSION=\"2.39\"; curl -L \"https://github.com/mrwormhole/virtual-keyboard/releases/download/v${VERSION}/virtual-keyboard-py${PYVERSION}-glib${GLIBVERSION}-x86_64\" -o virtual-keyboard-test \u0026\u0026 sudo mv virtual-keyboard-test /usr/local/bin/ \u0026\u0026 sudo chmod +x /usr/local/bin/virtual-keyboard-test \u0026\u0026 sudo curl -o /usr/share/applications/virtual-keyboard-test.desktop \"https://raw.githubusercontent.com/mrwormhole/virtual-keyboard/main/virtual-keyboard.desktop\n```\n\nPlease set the VERSION, PYVERSION and GLIBVERSION above, it will grab the binary from releases for you then rename it to `virtual-keyboard` and move to `/usr/local/bin`\n\nThen will put the `virtual-keyboard.desktop` in `/usr/share/applications` and copy the contents of [this desktop file](https://github.com/mrwormhole/virtual-keyboard/blob/main/virtual-keyboard.desktop)\n\n### FAQs\n\n- Why is there an error message saying `GskMessage - Failed to realize renderer of type 'GskGLRenderer' for surface 'GdkWaylandToplevel': Failed to create EGL display`?\n\nJust do `GSK_RENDERER=cairo ./binary` if you got the binary from the releases,  you won't have this message if you build the binary manually on your machine.\n\n- Do you plan to add more languages?\n\nWe can consider as long as we don't break existing languages, I will not support chinese or japanese due to the complexity it brings.\n\n- Do you plan to add support for Windows or Macos?\n\nAbsolutely no for Macos, maybe for Windows. On windows, you can still run the binary through WSL(windows subsystem for linux). I have tested locally with WSL, it works on Windows with WSL but windows support and CI are gonna cost me time/money so I am not willing to put time/money for it for now.\n\n- Why GTK?\n\nI use GNOME so I wanted to feel the native experience.\n\n- Will you support GTK3?\n\nNo, please use up-to-date software.\n\n\n### References\n\n- [PyGObject Docs](https://api.pygobject.gnome.org/)\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrwormhole%2Fvirtual-keyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fmrwormhole%2Fvirtual-keyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fmrwormhole%2Fvirtual-keyboard/lists"}