Inconsistent behaviour of Num Lock
Bug #1588237 reported by
Jonas
This bug affects 1 person
Affects | Status | Importance | Assigned to | Milestone | |
---|---|---|---|---|---|
Canonical System Image |
Confirmed
|
Undecided
|
Stephen M. Webb | ||
Mir |
Fix Released
|
Medium
|
Andreas Pokorny | ||
mir (Ubuntu) |
Fix Released
|
Medium
|
Andreas Pokorny |
Bug Description
How to reproduce:
M10 with external Keyboard and Screen, after restart on OTA11.
To use numbers in the unlock screen, the num key has to be active.
After unlocking, use a search field in the homescope or any other scope.
Expected behaviour:
The numblock should work, as the num key is still active.
Actual behaviour:
The numblock only works, when you deactivate the num key.
This is the same for the browserbar or the telegram chat.
After some time, the behaviour changes, so the numblock behaviour seems to be inconsistent.
Related branches
lp:~andreas-pokorny/mir/fix-1588237
- Alexandros Frantzis (community): Approve
- Mir CI Bot: Approve (continuous-integration)
-
Diff: 498 lines (+269/-14)7 files modifiedsrc/client/input/android/android_input_receiver.cpp (+22/-6)
src/client/input/xkb_mapper.cpp (+59/-4)
src/include/common/mir/input/key_mapper.h (+1/-0)
src/include/common/mir/input/xkb_mapper.h (+7/-0)
src/server/input/seat_input_device_tracker.cpp (+39/-2)
tests/acceptance-tests/test_client_input.cpp (+140/-2)
tests/include/mir/test/doubles/mock_key_mapper.h (+1/-0)
Changed in canonical-devices-system-image: | |
assignee: | nobody → Stephen M. Webb (bregma) |
status: | New → Confirmed |
Changed in mir (Ubuntu): | |
status: | Confirmed → In Progress |
Changed in mir: | |
assignee: | nobody → Andreas Pokorny (andreas-pokorny) |
milestone: | none → 0.25.0 |
status: | New → In Progress |
Changed in mir (Ubuntu): | |
status: | In Progress → Triaged |
summary: |
- inconsistent behaviour of the numblock + Inconsistent behaviour of Num Lock |
Changed in mir: | |
importance: | Undecided → Medium |
Changed in mir (Ubuntu): | |
importance: | Undecided → Medium |
Changed in mir: | |
milestone: | 0.25.0 → 0.26.0 |
Changed in mir: | |
milestone: | 0.26.0 → 1.0.0 |
Changed in mir: | |
status: | Fix Committed → Fix Released |
To post a comment you must log in.
The described behavior matches the way keyboard mapping is handled within mir right now. Unity8 configures keymaps for each client surface. Each client surface then has its own independent key state. Key state here means the set of active modifier keys, including toggles like Caps Lock, Num Lock. So it depends on which client sees
Mir 0.24 will change this behavior. It will default to have a per keyboard device key state tracked and updated inside a mir server like Unity8. Thus Num Lock will stay active after you switch between surfaces. BUT: For that to work Unity8 need to configure its own server side per device keymaps (they only default to us). Additionally we still allow client side per surface keymaps. As of now the solution inside of lp:mir and the presumptive 0.24 would not be capable of transfering the current toggle state of Caps Lock or Num Lock when switching to an application with a client side keymap. We already identified that problem, and I plan to address that soon. But it might not make it into 0.24
As a short term fix I suggest to switch unity8 to only use server side keymaps with 0.24, until this last problem is also addressed.