Bug 510505 - Cannot map tablet to a different screen
Summary: Cannot map tablet to a different screen
Status: RESOLVED FIXED
Alias: None
Product: systemsettings
Classification: Applications
Component: kcm_tablet (other bugs)
Version First Reported In: 6.4.5
Platform: Fedora RPMs Linux
: NOR major
Target Milestone: ---
Assignee: Plasma Bugs List
URL:
Keywords:
Depends on:
Blocks:
 
Reported: 2025-10-11 21:22 UTC by Vojtěch Bartoň
Modified: 2025-10-22 03:31 UTC (History)
4 users (show)

See Also:
Latest Commit:
Version Fixed/Implemented In: 6.5.1
Sentry Crash Report:


Attachments
Display mapping options (39.67 KB, image/png)
2025-10-11 21:22 UTC, Vojtěch Bartoň
Details

Note You need to log in before you can comment on or make changes to this bug.
Description Vojtěch Bartoň 2025-10-11 21:22:46 UTC
Created attachment 185701 [details]
Display mapping options

SUMMARY
For a bit of background, I haven't touched the Wacom settings in months, and my tablet was always mapped to my primary monitor (which would be eDP, see pic). I only just now changed the mapping.

Now, no matter the display I select, the tablet is always stuck on my secondary monitor (MSI MP223). Follow current screen does not work. I currently have to use Všechny obrazovky (All Screens) mapped to the portion of my primary screen.

The display's primary settings does not affect this, unplugging & replugging the display does nothing.
Disabling the monitor from within settings, places the cursor on the correct screen, but causes Krita's brush to be offset (but that's worth a different bug report). Physically unplugging the monitor fixes that.

STEPS TO REPRODUCE
1. Open System Setting's Tablet module
2. Try to switch to a different display
3. Try to switch back to the original display

OBSERVED RESULT
The cursor does not go back to the original display.

EXPECTED RESULT
The cursor should follow the original display

SOFTWARE/OS VERSIONS
Linux/KDE Plasma: Kernel 6.16.10
KDE Plasma Version: Plasma 6.4.5
KDE Frameworks Version: 6.18.0
Qt Version: 6.9.2

ADDITIONAL INFORMATION
Comment 1 rkolbaskin 2025-10-17 10:46:02 UTC
I am experiencing a similar issue with both a touchscreen and a graphic tablet. It would seem once the target screen is chosen it cannot be changed to any other screen anymore. Even rebooting doesn't help. In case of touchscreen KDE guesses it automatically and you don't even get to choose the correct one the first time.
Comment 2 rkolbaskin 2025-10-17 14:36:24 UTC
I found a workaround:
* Open .config/kwinoutputconfig.json, find the display you want to map your tablet to, copy its "uuid" field value. 
* Open .config/kcminputrc, find your tablet there and replace "OutputUuid" value with the one you copied earlier.
* Restart KDE session by re-logging or rebooting. Now your pen should map to correct screen.

I've also noticed that OutputUuid in kcminputrc doesn't change when target screen is changed in the settings.
Comment 3 Vojtěch Bartoň 2025-10-17 15:08:06 UTC
(In reply to rkolbaskin from comment #2)
> I found a workaround:
> * Open .config/kwinoutputconfig.json, find the display you want to map your
> tablet to, copy its "uuid" field value. 
> * Open .config/kcminputrc, find your tablet there and replace "OutputUuid"
> value with the one you copied earlier.
> * Restart KDE session by re-logging or rebooting. Now your pen should map to
> correct screen.
> 
> I've also noticed that OutputUuid in kcminputrc doesn't change when target
> screen is changed in the settings.

Can confirm changing the outputUuid fixes this. Thank you so much!
Comment 4 Bug Janitor Service 2025-10-18 11:25:56 UTC
A possibly relevant merge request was started @ https://invent.kde.org/plasma/kwin/-/merge_requests/8270
Comment 5 rkolbaskin 2025-10-20 11:54:09 UTC
Git commit aa1ef8743556208f6ffc2a3e16dc838dbd043aa6 by Roman Kolbaskin.
Committed on 20/10/2025 at 11:11.
Pushed by zamundaaa into branch 'master'.

backends/libinput: Fixed Device::setOutputName not changing the output

Commit f860be3a intoduced a bug where changing target display for
touchscreen or tablet once would prevent it being changed again.
It is caused by setOutputName method updating the output only if
m_outputUuid is not already set.

This change makes both setOutputName and setOutputUuid update stored
name UUID and pointer to output screen and update "OutputUuid" property
in the config file.

setConfigOutputName will change the output only if it is not already
set. It is only used for loading from config and needed for backwards
compatibility with config file created before matching display by UUID
was introduced.

M  +24   -12   src/backends/libinput/device.cpp

https://invent.kde.org/plasma/kwin/-/commit/aa1ef8743556208f6ffc2a3e16dc838dbd043aa6
Comment 6 Zamundaaa 2025-10-20 13:13:56 UTC
Git commit 3c5941c42cb88aadbac7a4d046318e078d459cce by Xaver Hugl.
Committed on 20/10/2025 at 12:15.
Pushed by zamundaaa into branch 'Plasma/6.4'.

backends/libinput: Fixed Device::setOutputName not changing the output

Commit f860be3a intoduced a bug where changing target display for
touchscreen or tablet once would prevent it being changed again.
It is caused by setOutputName method updating the output only if
m_outputUuid is not already set.

This change makes both setOutputName and setOutputUuid update stored
name UUID and pointer to output screen and update "OutputUuid" property
in the config file.

setConfigOutputName will change the output only if it is not already
set. It is only used for loading from config and needed for backwards
compatibility with config file created before matching display by UUID
was introduced.


(cherry picked from commit aa1ef8743556208f6ffc2a3e16dc838dbd043aa6)

Co-authored-by: Roman Kolbaskin <rkolbaskin@tutanota.com>

M  +24   -12   src/backends/libinput/device.cpp

https://invent.kde.org/plasma/kwin/-/commit/3c5941c42cb88aadbac7a4d046318e078d459cce
Comment 7 Zamundaaa 2025-10-20 21:11:47 UTC
Git commit 454096a4040574954bf51ec6fa863962ec0b66a5 by Xaver Hugl.
Committed on 20/10/2025 at 19:03.
Pushed by zamundaaa into branch 'Plasma/6.5'.

backends/libinput: Fixed Device::setOutputName not changing the output

Commit f860be3a intoduced a bug where changing target display for
touchscreen or tablet once would prevent it being changed again.
It is caused by setOutputName method updating the output only if
m_outputUuid is not already set.

This change makes both setOutputName and setOutputUuid update stored
name UUID and pointer to output screen and update "OutputUuid" property
in the config file.

setConfigOutputName will change the output only if it is not already
set. It is only used for loading from config and needed for backwards
compatibility with config file created before matching display by UUID
was introduced.


(cherry picked from commit aa1ef8743556208f6ffc2a3e16dc838dbd043aa6)

Co-authored-by: Roman Kolbaskin <rkolbaskin@tutanota.com>

M  +24   -12   src/backends/libinput/device.cpp

https://invent.kde.org/plasma/kwin/-/commit/454096a4040574954bf51ec6fa863962ec0b66a5