Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

druid-shell IME api, take two #1619

Merged
merged 15 commits into from
Mar 10, 2021
Merged

druid-shell IME api, take two #1619

merged 15 commits into from
Mar 10, 2021

Commits on Mar 10, 2021

  1. druid-shell macOS text input

    Adds APIs for cross-platform text input, and an initial implementation of text input
    on macOS that allows for dead keys, IME input for Chinese, Japanese, etc.
    On other platforms, the text input method calls are simulated from key_down events,
    as a temporary measure until we can properly implement input methods on those platforms.
    
    Also adds a new druid-shell example, `edit_text`, which is a rough, LTR and single-line
    only implementation of the text input APIs to demonstrate that they work correctly.
    
    A massive thanks to yvt's library tcw3 (https://github.com/yvt/Stella2), which was a fantastic
    blueprint for the structure of this API, as well as indispensable reference when implementing
    the macOS text input interfaces.
    lord authored and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    14a8a0d View commit details
    Browse the repository at this point in the history
  2. Update druid-shell/src/text_input.rs

    Co-authored-by: Colin Rofls <[email protected]>
    lord and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    a79f693 View commit details
    Browse the repository at this point in the history
  3. Add a lot more documentation, switch to text module

    Also contains various small API renamings in response to code review comments.
    lord authored and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    fb51714 View commit details
    Browse the repository at this point in the history
  4. Configuration menu
    Copy the full SHA
    fefc46e View commit details
    Browse the repository at this point in the history
  5. hopefully fix linux build

    lord authored and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    f6dd5ef View commit details
    Browse the repository at this point in the history
  6. extent -> active; MoveExtent -> MoveSelecting

    lord authored and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    95929e1 View commit details
    Browse the repository at this point in the history
  7. text input -> text field

    lord authored and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    de2d7cc View commit details
    Browse the repository at this point in the history
  8. simplifies example by using rects_for_range

    lord authored and cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    46cb74b View commit details
    Browse the repository at this point in the history
  9. Update for new clippy warnings

    cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    14b8f5a View commit details
    Browse the repository at this point in the history
  10. Minor doc tweaks in druid-shell/src/text.rs

    This started out as me wanting to just rewrap everything to 80
    columns, and then turned into a few little additional touchups.
    cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    e1fec97 View commit details
    Browse the repository at this point in the history
  11. Configuration menu
    Copy the full SHA
    5b186d9 View commit details
    Browse the repository at this point in the history
  12. Have separate acquire & release methods for IME locking

    We'll need something like this in druid, because we need to
    know when we have to update the app data.
    cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    caf3ee2 View commit details
    Browse the repository at this point in the history
  13. Configuration menu
    Copy the full SHA
    d298c52 View commit details
    Browse the repository at this point in the history
  14. Handle a bit more when simulating input

    This isn't great, but it adds tab/return/delete, which feels
    like the bare minimum; we can implement more as future work.
    cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    b7e7ac2 View commit details
    Browse the repository at this point in the history
  15. Changelog

    cmyr committed Mar 10, 2021
    Configuration menu
    Copy the full SHA
    bb169a6 View commit details
    Browse the repository at this point in the history