bug(web): Keyboard direction does not change from LTR to RTL (Tamil to Arabic)
Opened this issue · 2 comments
Describe the bug
The text does not appear in the RTL direction. The keyboard switch works if refreshing the page before selecting the keyboard.
Reproduce the bug
Steps to reproduce:
- Installed the "keymandeveloper-18.0.104.exe" file.
- Double-click on the "Keyman Developer" icon.
- The developer tool appeared correctly. Open the Keyman keyboard project (*.kpj) file.
- Open any keyman keyboard (*.kmn) file. (e.g., Tamil 99 text, gff_amheric)
- Navigate to the "Build" tab by clicking the *.kmn link button.
- Compile the changes by clicking the "Compile Keyboard".
- Click the "Test Keyboard on Web" button.
- Select the "http://localhost:8008" and click the "Open in browser" button.
- Navigation moved on the browser for the keyboard.
- Select an LTR(Tamil) keyboard by clicking the "Keyboard" button.
- Type a text by clicking OSK or the physical keyboard.
- Select another RTL(Arabic) keyboard by clicking the "Keyboard" button.
- Type a text by clicking OSK or the physical keyboard.
Actual Results: Here, Text does not appear in the RTL direction. It appears LTR direction if I refresh the page before selecting the keyboard.
Expected behavior
No response
Related issues
No response
Keyman apps
- Keyman for Android
- Keyman for iPhone and iPad
- Keyman for Linux
- Keyman for macOS
- Keyman for Windows
- Keyman Developer
- KeymanWeb
- Other - give details at bottom of form
Keyman version
18.0.104
Operating system
Windows 10 OS
Device
No response
Target application
No response
Browser
FireFox
Keyboard name
No response
Keyboard version
No response
Language name
arabic
Additional context
No response
I can't reproduce this with, neither with Keyman Developer 18.0.108 nor with KeymanWeb Sample Page.
If I don't delete all content before switching to the RTL keyboard then the text stays on the left, but that is expected. But if I delete all content and then switch to RTL the text moves to the right. Text direction in either case is RTL.
There are two parts to this:
- the
&kmw_rtl
store tells KMW to set the primary text direction of the text control to RTL, so if that store is present with the value1
, then simply selecting the keyboard should change the primary text direction. - If the store is not present, then the presence of RTL text at the start of the text field will set the text direction.