Giter Site home page Giter Site logo

kittsville / chomskey Goto Github PK

View Code? Open in Web Editor NEW
3.0 3.0 1.0 2.51 MB

Dynamic Keyboard Layout Editor

Home Page: http://sci1.uk/Chomskey/

License: GNU General Public License v2.0

CSS 15.92% JavaScript 53.08% HTML 31.00%
ipa-symbols ipa linguistics keyboard-layout puns

chomskey's Introduction

chomskey's People

Contributors

kittsville avatar

Stargazers

 avatar  avatar  avatar

Watchers

 avatar  avatar  avatar

Forkers

s2-keyboard

chomskey's Issues

Add global JS error handling

Currently Chomskey will silently die if something goes wrong. For most people that'll mean some/all functionality disappearing without warning.

To resolve this: add handling of JS errors to the appropriate JS module (Chomskey) so that the user can be informed something has gone wrong.

I would initially use alert() then transition to a styled pop-up when the relevant scripts and styles are weeded out of the edit-key functionality so other things can use it.

Add Smiley/Emoticon Keyboard

This app would be great for accessing all those hard-to-find emoticons to annoy 15 year old prescriptivists with superiority complexes.

This issue proposes the addition of a 2nd built-in keyboard layout, the smiley layout. It would replace characters not typically useful in smiley creation with more useful characters such as ಠ, ಥ or ◔.

As this is a frivolous issue I wouldn't consider it high priority compared to issues such as #13, #7 or #6.

Add key mouse-over text

Allow the displaying of helpful information about the key's behaviour when hovered over with the mouse. This would be particularly useful for complicated keyboards like the UCL IPA layout.

As this will modify the layout format a change in version will be needed.

Add ability to create new layouts

The UI currently only allows the uploading/downloadin of layouts. Meaning creating a new one requires uploading a blank template.

This is connected very much so to #5 as the creation/editing pop-ups for layouts will be very similar.

Allow Ctrl behaviour to override layout

The Ctrl key is oft used for keyboard commands and Chomskey currently doesn't support Ctrl based layout modification (only Shift and Alt Gr). Chomskey however still prevents the key's default behaviour if the key being pressed (e.g. 'a') has a mapping. This is annoying.

Fix: Add check to Chomskey object to force defaulting if Ctrl has been pressed

Add handling of differing layout versions

Chomskey will need to be able to perform sanitisation checks relevant to the version of Chomskey an uploaded layout was intended for. Chomskey must also be able to (if necessary) upgrade that layout to the current version of Chomskey.

Given only two people currently know about Chomskey this issue can be held off by simply rejecting all layouts not designed for the current version.

Fix text not being added at caret position

Text is currently added at the end of the textarea, rather than where the caret (blinking vertical line) is. This makes it harder to use Chomskey for typing large blocks of text and impossible to correctly type combining characters (given #7 is still ongoing).

Create/add Logo

Chomskey needs a stylish Zardoz style logo to display on the app so that site previews look better and also for general aesthetic value.

Plus #4 is a pretty important issue, of which this would contribute.

Add Character Count

Add a small, non-intrusive character count below the text area.

This is limited by Chomskey's poor handling of combining characters. After #7 has been implemented there should be relevant regex to implement a character count similar to this one.

Add reading/saving of current layout to URL

The app URL should include the current layout's slug. When the site is visted the slug should be read and, if the layout exists, that layout should be switched to.

Some fancy stuff using history push state could be used but the simplest way would just do the above. Any implementation that did use push state should try to keep Chomskey gracefully deprecating and disabling that functionality on init if not supported.

While this would be useful, there are (currently) much more important issues to be solved.

Add Layout Meta Editing

There's currently no way, within the UI, of editing a layout's name, slug or short description. An edit key style pop-up would be the easiest way of adding this functionality.

This will probably involve adding a new JS object to specifically handle pop-up behaviour, as to keep the JS DRY.

There's also some styles which should be pulled out of the edit key pop-up and added to the pop-up class instead.

Fix handling of combining characters

Combining characters are currently added at the end of the textarea, meaning the next character typed is then combined with the combining character. Add a check so that typing a combining character combines it with the last character typed or, if there is no previous character, fails to type the combining character.

Improve meta tags

Add Open Graph tags and check how site is parsed to ensure proper indexing.

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.