Git Product home page Git Product logo

parsekb's Introduction

ParseKB

This tool indends to provides several functions not currently provided by current tools:

  1. Analyzes Keyman (https://www.Keyman.com) keyboards for inconsistencies
    • ✅ Looks for missing combinations that might cause inconsistent output.
    • ✅ Looks for inputs that cannot be obtained on the current keyboard.
    • ✅ Groups keys for visual inspection.
    • ✅ Finds duplicate or conflicting rules.
    • ✅ Infers how Caps affect each key to find inconsistencies.
  2. ✅ Converts MSKLC (https://www.microsoft.com/en-us/download/details.aspx?id=22339) keyboards to Keyman format. (MSK provides a ready source of predefined majority language keyboards.)
    • ✅ Handles Deadkeys
    • ✅ Handles Ligatures
    • ✅ Automatic and manual filtering.
  3. 🔲 Converts Keyman keyboards to Microsoft's MSKLC format.
  4. 🔲 Converts Keyman keyboards to Mac .keyLayout format.
  5. 🔲 Converts Keyman keyboards to Linux XKB (https://www.freedesktop.org/wiki/Software/XKeyboardConfig/) format.
  6. ✅ Exports to Keyboard-Layout-Creator format for easy visual documentation. (Contents can be pasted into the tool at http://www.keyboard-layout-editor.com/ .)
    • ✅ Adapts this output to different physical keyboards
  7. ✅ Exports a Full Command list for Documentation
    • ✅ Adapts this to different Physical Keyboards (i.e. What are the combinations if someone uses your keyboard on a British physical keyboard.
    • ✅ Outputs this data in readme friendly HTML.
  8. 🔲 Exports a json markup of all analyzed data.
  9. 🔲 Compares Keyman Keyboards
  10. ✅ Accesses Unicode Properties as needed

Assumptions:

  • Keyman Keyboards:
    • Deadkey Names use dk(0061) format.
    • KM Keyboard is compilable.
  • Microsoft Keyboards:
    • MS Keyboard is compileable.

Requirements:

  • Python 3
  • Source Keyboard Files

parsekb's People

Contributors

mattgyverlee avatar

Watchers

 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.