Skip to content

Parsing, Analysis, and conversion between Keyboard formats.

Notifications You must be signed in to change notification settings

MattGyverLee/ParseKB

Repository files navigation

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

About

Parsing, Analysis, and conversion between Keyboard formats.

Topics

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published