LivelyKernel / LivelyKernel/lively.morphic

textInput Node causes Keyboard focus on iOS

Open
#113 0 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

Dominant language
JavaScript
Stars
13
Forks
1
PR merge metrics
No merged PRs in 30d

Description

I noticed that the textInput node (found in events/TextInput.js) that is used to
capture the text input in an editable text area, gets in the way when using
a plattform such as iOS (maybe also Android or other mobile OSes).
Since the textInput node constantly grabs the focus, the mobile operating systems
will accompany that by moving the view to center the (invisible) node and presenting
the keyboard which makes whole system unusable as soon as a couple text morphs are being
displayed in the scene. (any touch interaction will effectively cause the keyboard to focus)

I have found the only way to disable this behavior is by rendering the text node as display: none
when it is not in use. However that breaks the input mechanism for the text morphs.

Any ideas on how to fix that?

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start in events/TextInput.js and reproduce the focus and keyboard behavior on iOS with several text morphs displayed. Investigate how the invisible textInput node is managed when it is not being edited; done means touch interaction no longer forces focus or opens the keyboard while text morph input still works.

Written by the indexing model from the issue text.

Assessment

Tech stack
javascript
Domain
frontend, mobile-dev
Issue type
Bug
Difficulty
4/5
Estimated time
3-5 days
Activity status
Stale
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.