Giter Club home page Giter Club logo

pydos_virtkeyboard's Introduction

PyDOS_virtkeyboard - PyDOS running on a tablet?

The modules needed to add virtual keyboard support to PyDOS

Check out the demo video at https://youtu.be/AVLaLuzFrxY
The PyDOS repository: https://github.com/RetiredWizard/PyDOS

Currently this requires:

The hardware currently supported uses one or more of:

  • "dot clock"/"666" display
  • ili9341 TFT LCD display
  • FocalTech capacitive touch chips (Currently supports FT6206 & FT6236)
  • GOODIX GT911 touch controller
  • TSC2007 touch controller
  • XPT2046 touch controller

As 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.

The PyDOS virtual keyboard has only been tested using the HackTablet, the MaTouch ESP32-S3 7", the Adafruit TFT FeatherWing V2 and the Sunton-ESP32-2432S028 ("Cheap Yellow Display").

The lib/pydos_ui_virt.py file performs the keyboard abstraction for PyDOS.

Up/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.

To setup the virtual keyboard in PyDOS follow the standard PyDOS installation instructions and after the setup.bat file has been run perform the following steps:

  1. On the microcontroller rename /lib/pydos_ui.py to /lib/pydos_ui_uart.py
  2. copy the contents of this repository to the microcontroller
  3. On the microcontroller rename /lib/pydos_ui_virt.py to /lib/pydos_ui.py

Files Not Needed By Supported Boards

The following files in the /lib/ folder can be deleted (or not copied) for the indicated board

For the Hacktablet delete:

  • /lib/adafruit_ili9341.mpy
  • /lib/adafruit_tsc2007.mpy
  • /lib/gt911_touch.py
  • /lib/pydos_xpt2046.py
  • /lib/keyboard320.bmp
  • /lib/keyboard1024.bmp

for MaTouch ESP32-S3 7" delete:

  • /lib/adafruit_focaltouch.mpy
  • /lib/adafruit_ili9341.mpy
  • /lib/adafruit_tsc2007.mpy
  • /lib/pydos_xpt2046.py
  • /lib/keyboard320.bmp

for Adafruit TFT Featherwing delete:

  • /lib/adafruit_focaltouch.mpy
  • /lib/gt911_touch.py
  • /lib/pydos_xpt2046.py
  • /lib/keyboard800.bmp
  • /lib/keyboard1024.bmp

for a Cheap Yellow Display delete:

  • /lib/adafruit_focaltouch.mpy
  • /lib/adafruit_ili9341.mpy
  • /lib/gt911_touch.py
  • /lib/adafruit_tsc2007.mpy
  • /lib/keyboard800.bmp
  • /lib/keyboard1024.bmp

Only the keyboard bitmap that matches the width of your display is needed in the /lib/ folder.

pydos_virtkeyboard's People

Contributors

retiredwizard avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.