Request for non-latin keyboard layout support
Nobody has claimed this yet.
- Dominant language
- JavaScript
- Stars
- 27k
- Forks
- 2.6k
- PR merge metrics
- No merged PRs in 30d
Description
Hi there,
My machine(s) are configured with English and Bulgarian keyboard layouts.
If the Bulgarian is my active layout it is a bit harder to use vimium, because not all features are usable with Cyrillic characters.
I added mappings for all commands I'm using with cyrillic characters, for example I have:
map ф LinkHints.activateMode
map Ф LinkHints.activateModeToOpenInNewTab
ф and Ф are capital and non capital cyrillic equivalent of F character.
The problem comes with link hints generated by LinkHints.activateMode and LinkHints.activateModeToOpenInNewTab commands.
If my current layout is Bulgarian I need to switch first in English layout in order to be able to follow the hints.
What's my suggestion: Add an option where it would be possible to create mapping between latin and non-latin characters, I imagine something like this:
map f ф
map F Ф
map d д
map D Д
etc
etc
If such mapping exists it could be applied for the command mappings and for the link hints.
This I'll have to map only characters, but not commands and I'll be able to use vimium without constantly switching between different layouts.
Thanks,
Vitali
Contributor guide
First steps
- Read the whole issue, then the project's contributing guide.
- Comment on the issue to say you are picking it up — it saves two people doing the same work.
- Fork the repository and make your change on a branch.
- Open a pull request that references the issue number.
Research direction
Start by reading the existing command mappings and the LinkHints.activateMode and LinkHints.activateModeToOpenInNewTab entry points. Trace how mapped characters are handled for commands and generated link hints, then determine the scope of applying Latin-to-non-Latin mappings in both places. Done means Bulgarian or similar layouts can activate commands and follow hints without switching keyboard layouts.
Written by the indexing model from the issue text.
Assessment
- Tech stack
- javascript
- Domain
- frontend
- Issue type
- Feature
- Difficulty
- 4/5
- Estimated time
- 3-5 days
- Activity status
- Stale
- Clarity
- Mostly clear
- Newbie friendliness
- 25/100