In the Mouse Actions section of Desktop Settings - "Add Action" > "Input Here" - A horizontal scroll from my laptop's touchpad is recognised as a "Vertical-Scroll". This means that horizontal scrolling is not available to be used, for example, to switch desktops. Horizontal scrolling is correctly set and detected in System Settings > Input Devices > Touchpad > Scrolling, and is generally differentiated from vertical scrolling on my system.
Git commit c8e71c462c0aa4f449239771b10f56a4894e8f62 by Kai Uwe Broulik. Committed on 20/12/2015 at 21:52. Pushed by broulik into branch 'Plasma/5.5'. [Containment Actions] Send along proper wheel orientation FIXED-IN: 5.5.2 REVIEW: 126432 M +1 -1 shell/currentcontainmentactionsmodel.cpp http://commits.kde.org/plasma-workspace/c8e71c462c0aa4f449239771b10f56a4894e8f62
I have the very same problem on my desktop. The horizontal wheel is accepted as Buttons 6 and 7 on e.g. Fluxbox, and I can catch the horizontal scroll via QWheelEvent.angleDelta().x() in python, so this must be something with Plasma itself, or the way Plasma handles my mouse.
Update: I manually changed in "~/.config/plasma-org.kde.plasma.desktop-appletsrc" the line "wheel:Vertical;NoModifier=org.kde.switchdesktop" to "wheel:Horizontal;NoModifier=org.kde.switchdesktop" and the horizontal wheel does indeed work now as intended, so I would guess the error to be in the configuration dialog, not with the desktop-containment itself.
Update: .Above fix stopped working as of 5.17.1.
Here to report same issue exists as of 5.20.0 and to ask if it can be re-reviewed/prioritized. To add some specifics to the last update by Daniel: When making the change to the config file manually, the Desktop Folder Settings --> Mouse Actions shows "horizontal-Scroll" as expected, but the behaviour is that nothing happens when I scroll - be it horizontal or vertical. Horizontal and vertical scroll *does* work elsewhere as expected. It wasn't clear to me on quick look whether commit from comment #1 was ever actually merged (given this was never changed to fixed too), but verifying currentcontainmentactionsmodel.cpp in it's current form in master has essentially the changes proposed in that original commit, and it does not fix this undesireable behaviour