{"id":14963335,"url":"https://github.com/retiredwizard/pydos_virtkeyboard","last_synced_at":"2025-07-02T20:33:03.344Z","repository":{"id":197910800,"uuid":"699628935","full_name":"RetiredWizard/PyDOS_virtkeyboard","owner":"RetiredWizard","description":"The modules needed to add virtual keyboard support to PyDOS","archived":false,"fork":false,"pushed_at":"2024-09-15T16:42:27.000Z","size":437,"stargazers_count":8,"open_issues_count":0,"forks_count":1,"subscribers_count":3,"default_branch":"main","last_synced_at":"2025-04-07T04:14:27.921Z","etag":null,"topics":["cheap-yellow-display","circuitpython","esp32","esp32-2432s028","esp32s3","focaltech","ft6206","ft6236","goodix","gt911","hacktablet","makerfabs","matouch","pydos","python","touchscreen","tsc2007","xpt2046"],"latest_commit_sha":null,"homepage":"","language":"Python","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":null,"status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/RetiredWizard.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,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null}},"created_at":"2023-10-03T02:33:41.000Z","updated_at":"2024-12-29T18:24:18.000Z","dependencies_parsed_at":"2023-10-04T03:24:49.393Z","dependency_job_id":"ed895e4f-4c41-4735-a940-9d3d0404b849","html_url":"https://github.com/RetiredWizard/PyDOS_virtkeyboard","commit_stats":{"total_commits":36,"total_committers":1,"mean_commits":36.0,"dds":0.0,"last_synced_commit":"af1fc410f3b256aa341c0fe24055bf67d2c1f0d6"},"previous_names":["retiredwizard/pydos-virtkeyboard","retiredwizard/pydos_virtkeyboard"],"tags_count":3,"template":false,"template_full_name":null,"purl":"pkg:github/RetiredWizard/PyDOS_virtkeyboard","repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RetiredWizard%2FPyDOS_virtkeyboard","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RetiredWizard%2FPyDOS_virtkeyboard/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RetiredWizard%2FPyDOS_virtkeyboard/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RetiredWizard%2FPyDOS_virtkeyboard/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/RetiredWizard","download_url":"https://codeload.github.com/RetiredWizard/PyDOS_virtkeyboard/tar.gz/refs/heads/main","sbom_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/RetiredWizard%2FPyDOS_virtkeyboard/sbom","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":263210643,"owners_count":23431174,"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":["cheap-yellow-display","circuitpython","esp32","esp32-2432s028","esp32s3","focaltech","ft6206","ft6236","goodix","gt911","hacktablet","makerfabs","matouch","pydos","python","touchscreen","tsc2007","xpt2046"],"created_at":"2024-09-24T13:31:22.156Z","updated_at":"2025-07-02T20:33:03.322Z","avatar_url":"https://github.com/RetiredWizard.png","language":"Python","funding_links":[],"categories":[],"sub_categories":[],"readme":"# PyDOS_virtkeyboard - PyDOS running on a tablet?\n\n**The modules needed to add virtual keyboard support to [PyDOS](https://github.com/RetiredWizard/PyDOS)**\n\n**Check out the demo video at https://youtu.be/AVLaLuzFrxY**  \n**The PyDOS repository: https://github.com/RetiredWizard/PyDOS**\n\nCurrently this requires:\n  - CircuitPython 9.x - See https://www.circuitpython.org/downloads for firmware download\n\nThe hardware currently supported uses one or more of:\n  - \"dot clock\"/\"666\" display\n  - ili9341 TFT LCD display\n  - FocalTech capacitive touch chips (Currently supports FT6206 \u0026 FT6236)\n  - GOODIX GT911 touch controller\n  - TSC2007 touch controller\n  - XPT2046 touch controller\n\nAs far as I know there currently is no fully functional GT911 touch library for CircuitPython or MicroPython, but the **gt911_touch.py** library included here, uses a similar API as the Adafruit FocalTech and TSC2007 libraries and seems to work well enough for the virtual keyboard to be usable. The GT911demo.py program is a simple demonstration using the library to operate the touch panel.\n\nThe PyDOS virtual keyboard has only been tested using the [HackTablet](https://hackaday.io/project/185831-hacktablet-crestron-tss-752-teardown-rebuild), the [MaTouch ESP32-S3 7\"](https://www.makerfabs.com/index.php?route=product/product\u0026product_id=774), the [Adafruit TFT FeatherWing V2](https://www.adafruit.com/product/3315) and the [Sunton-ESP32-2432S028](https://www.makerfabs.com/sunton-esp32-2-8-inch-tft-with-touch.html) (\"Cheap Yellow Display\").\n\nThe [**lib/pydos_ui_virt.py**](https://github.com/RetiredWizard/PyDOS_virtkeyboard/blob/main/lib/pydos_ui_virt.py) file performs the keyboard abstraction for PyDOS.  \n\nUp/Down arrow, command history and line editing is supported. The Hacktablet has the arrow icons printed along the right border of the screen but for other tablets the vitual keyboard bitmap has not yet been updated.\n\nTo setup the virtual keyboard in PyDOS follow the standard PyDOS installation instructions and after\nthe setup.bat file has been run perform the following steps:\n\n1) On the microcontroller rename /lib/pydos_ui.py to /lib/pydos_ui_uart.py\n2) copy the contents of this repository to the microcontroller\n3) On the microcontroller rename /lib/pydos_ui_virt.py to /lib/pydos_ui.py\n\n## Files Not Needed By Supported Boards\n\nThe following files in the /lib/ folder can be deleted (or not copied) for the indicated board\n\nFor the Hacktablet delete:\n  - /lib/adafruit_ili9341.mpy\n  - /lib/adafruit_tsc2007.mpy\n  - /lib/gt911_touch.py\n  - /lib/pydos_xpt2046.py\n  - /lib/keyboard320.bmp\n  - /lib/keyboard1024.bmp\n\nfor MaTouch ESP32-S3 7\" delete:\n  - /lib/adafruit_focaltouch.mpy\n  - /lib/adafruit_ili9341.mpy\n  - /lib/adafruit_tsc2007.mpy\n  - /lib/pydos_xpt2046.py\n  - /lib/keyboard320.bmp\n\nfor Adafruit TFT Featherwing delete:\n  - /lib/adafruit_focaltouch.mpy\n  - /lib/gt911_touch.py\n  - /lib/pydos_xpt2046.py\n  - /lib/keyboard800.bmp\n  - /lib/keyboard1024.bmp\n\nfor a Cheap Yellow Display delete:\n  - /lib/adafruit_focaltouch.mpy\n  - /lib/adafruit_ili9341.mpy\n  - /lib/gt911_touch.py\n  - /lib/adafruit_tsc2007.mpy\n  - /lib/keyboard800.bmp\n  - /lib/keyboard1024.bmp\n\n  Only the keyboard bitmap that matches the width of your display is needed in the /lib/ folder.","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretiredwizard%2Fpydos_virtkeyboard","html_url":"https://awesome.ecosyste.ms/projects/github.com%2Fretiredwizard%2Fpydos_virtkeyboard","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2Fretiredwizard%2Fpydos_virtkeyboard/lists"}