Page MenuHomePhabricator

Change only one keycode to avoid overwriting mappings of other keyboards.
Needs ReviewPublic

Authored by thierry1970 on Oct 15 2019, 7:27 AM.

Details

Reviewers
raster
Summary

Patch proposed by pascal@ordissimo.com
The concern appears when you have a physical keyboard and a virtual keyboard.
If you press the virtual keyboard and the ask key is not present in "Virtual core XTEST keyboard", the keyboard is unmapped and then remapped incorrectly.

  • switch to XTEST keyboard mapping (Send a FakeKeyEvent with an unsued keycode to cause a mapping change. This way, XStringToKeysym() and XKeysymToKeycode() will match the keyboard mapping that will be used in the final XFakeKeyEvents).
  • change only one keycode to avoid overwriting mappings of other keyboards
  • use the first unused keycode of the current keyboard mapping
  • revert the mapping change after few secondes (X clients need some time to catch the keysym)
  • revert all mapping changes in ecore_x_shutdown

Diff Detail

Repository
rEFL core/efl
Branch
Ecore_X
Lint
No Linters Available
Unit
No Unit Test Coverage
Build Status
Buildable 14020
Build 9732: arc lint + arc unit
thierry1970 created this revision.Oct 15 2019, 7:27 AM

It seems that this patch has no reviewers specified. If you are unsure who can review your patch, please check this wiki page and see if anyone can be added: https://phab.enlightenment.org/w/maintainers_reviewers/

thierry1970 requested review of this revision.Oct 15 2019, 7:27 AM

Reverting code that has nothing to do.

thierry1970 retitled this revision from The concern appears when you have a physical keyboard and a virtual keyboard. to Change only one keycode to avoid overwriting mappings of other keyboards..Oct 15 2019, 7:47 AM
thierry1970 edited the summary of this revision. (Show Details)
thierry1970 added a reviewer: raster.
thierry1970 edited subscribers, added: devilhorns, bu5hm4n; removed: committers.