Bug 364011 - Unable to switch from QWERTY, when using a different hardware layout
Summary: Unable to switch from QWERTY, when using a different hardware layout
Alias: None
Product: ktouch
Classification: Unclassified
Component: general (show other bugs)
Version: 2.3.0
Platform: Debian testing Linux
: NOR grave (vote)
Target Milestone: ---
Assignee: Sebastian Gottfried
Depends on:
Reported: 2016-06-06 07:55 UTC by Gergely Nagy
Modified: 2019-07-04 21:06 UTC (History)
0 users

See Also:
Latest Commit:
Version Fixed In: 19.08.0


Note You need to log in before you can comment on or make changes to this bug.
Description Gergely Nagy 2016-06-06 07:55:57 UTC
I am using an ErgoDox EZ, a programmable keyboard. My OS is set to a QWERTY layout, but my keyboards sends the keycodes according to the Dvorak/Capewell-Dvorak layout. That is, if I press the key that's in the Q position on QWERTY, the keyboard will send the ' key instead.

Since I am experimenting with custom layouts, that even my OS does not have built-in support for, I do not wish to set my hardware to QWERTY *and* create a software layout, just so I can use KTouch.

Please make it possible to override the auto-detected keyboard layout, so those of us with QWERTY OS layout, but a different one in hardware, can still use the program.

Reproducible: Always

Steps to Reproduce:
1. Plug in any keyboard that has a non-QWERTY hardware layout.
2. Set your OS layout to QWERTY.
3. Launch KTouch.

Actual Results:  
KTouch detects the QWERTY layout, and does not let me switch to a custom one.

Expected Results:  
The software should have let me select the layout I want, the one my hardware uses, instead of guessing it from the OS layout.

For this use case, the severity is grave, because the program is completely unusable when I'm forced into QWERTY. All I need is a simple menu that lets me choose a layout - I already created the layout in ktouch, along with the lessons.
Comment 1 Sebastian Gottfried 2019-07-04 21:06:18 UTC
Git commit 106d3bbe772568f82d758da7c74d5089fdb55120 by Sebastian Gottfried.
Committed on 04/07/2019 at 21:02.
Pushed by gottfried into branch 'master'.

Merge Branch 'homescreen-ng'

This replaces the home screen to solve KTouch's most egrigous problem:
content discovery. Previously, KTouch displayed only the courses for the
the currently active keyboard layout. If KTouch has no course for this
layout, the windows was basically empty showing only the option to
create a new custom lesson. Being forced to set up first the correct
keyboad layout for your computer has proven to be unintuitive. The
new home screen shows all available training content at a glance.

Improvements in more detail:

 * There is a new sidebar allowing the user to select from all available
   keyboard layouts with their associated courses. Users still have to
   set up the correct layout matching the selected course, though, and
   they are told how to do so with an passive notification. (BUG 395264,
   BUG 385425, BUG 331368, BUG 398773, BUG 391968, BUG 364011)

 * Training statistics are now available from the home screen for each
   lesson. Previously they have been only shown on the score screen
   after completing a lesson. (BUG 401359, BUG 317174)

 * The lesson selector has been redesign to show previews of each lesson
   as selectable items in a grid view.

  * Tab focus works now as expected and allows training without using the
    mouse at all. (BUG 316058)

  * Support for HiDPI rendering has been added.

  * KTouch now uses Qt Quick Controls 2 instead of version 1.
Related: bug 385425, bug 401359, bug 331368, bug 398773, bug 391968, bug 316058, bug 395264, bug 317174
FIXED-IN: 19.08.0
Differential Revision: https://phabricator.kde.org/D20953

M  +3    -4    CMakeLists.txt
M  +7    -2    src/CMakeLists.txt
M  +2    -2    src/declarativeitems/lessonpainter.h
M  +13   -12   src/qml/homescreen/ProfileDetailsItem.qml
M  +4    -4    src/qml/keyboard/KeyItem.qml
M  +1    -1    src/qml/keyboard/Keyboard.qml
M  +2    -2    src/qml/keyboard/KeyboardLayoutEditor.qml
M  +94   -208  src/qml/scorescreen/ScoreScreen.qml
M  +3    -3    src/qml/trainingscreen/TrainingWidget.qml