Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Tilt sensitivity not working correctly on wacom intuos pro M using bluetooth on Ubuntu 22.04 #445

Closed
Ulisesrec opened this issue Oct 17, 2024 · 11 comments

Comments

@Ulisesrec
Copy link

Ulisesrec commented Oct 17, 2024

As said in the title i'm using a Wacom Intuos pro on bluetooth mode and the tilt sensitivity does not work correctly, altough it does work while wired.
After a little bit of testing looking at the pen inputs while wired and with bluetooth connection using xinput, i've seen that while it is wireless the tilt values can't go over to negatives values (tilted upwards and to the left), is there any solution for that?

Versions:
Ubuntu 22.04 LTS
GNOME 42.9
/sys/module/wacom/version v2.00-input-wacom-1.3.0

@Ulisesrec Ulisesrec changed the title Tilt sensitivity not working correctly on wacom intuos pro M using bluetooth Tilt sensitivity not working correctly on wacom intuos pro M using bluetooth on Ubuntu 22.04 Oct 17, 2024
jigpu added a commit to jigpu/input-wacom that referenced this issue Oct 24, 2024
The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom#445
Fixes: 4922cd26f03c ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
@jigpu
Copy link
Member

jigpu commented Oct 24, 2024

I've been able to reproduce this issue and believe I've found a solution. Please

  1. Please install the "git" command-line tool.
  2. Run git clone https://github.com/jigpu/input-wacom.git -b fix-445 to get a copy of the driver with a potential fix.
  3. Follow the instructions on our Installing input-wacom from source wiki page (building the copy of "input-wacom" from step 2 rather than downloading the most recent release).

After you build and install the driver, reboot and check to see if the pen works normally again. If it does not, run grep "" /sys/module/wacom*/version and post its value back here so that I can make sure you're running the correct version of the driver.

@Ulisesrec
Copy link
Author

This worked! Thank you very much!
Marking this as completed now.

jigpu added a commit to jigpu/input-wacom that referenced this issue Nov 6, 2024
The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom#445
Fixes: 4922cd26f03c ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
[jason.gerecke@wacom.com: Imported into input-wacom (49a397ad24ee)]
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
@sbrl
Copy link

sbrl commented Nov 18, 2024

Just want to chime in here because I had to do some extra steps to get this to work.

To outline the full steps I did, I first ran through the steps outlined above:

git clone https://github.com/jigpu/input-wacom.git -b fix-445
if test -x ./autogen.sh; then ./autogen.sh; else ./configure; fi && make && sudo make install || echo "Build Failed"
sudo reboot

....but this didn't help, as I had the wrong version of the wacom kernel module:

$ grep "" /sys/module/wacom*/version
v2.00

...then I tried reloading the kernel module:

sudo rmmod wacom
sudo modprobe wacom

.....but this didn't not shift the version number either:

$ grep "" /sys/module/wacom*/version
v2.00

What I ended up doing was removing the xserver-xorg-input-wacom package, and then running through the above installation steps again.

Then I cycled the wacom kernel module:

sudo rmmod wacom
sudo modprobe wacom

....and then this worked!

$ grep "" /sys/module/wacom*/version
v2.00-1.2.0.37.g2c27caa

In hindsight, the first reboot wasn't really necessary when installing - I could have reloaded the kernel module manually.

An issue I did encounter though is that since I'm a leftie I have a custom script for changing the orientation of my tablet (sadly I can't find the right setting to update the touch - only the pen :-/). To fix this, I simply downloaded the .deb package for the package I just removed and extracted the xsetwacom binary manually:

sudo apt download xserver-xorg-input-wacom
dpkg -x "xserver-xorg-input-wacom_1%3a1.2.0-1ubuntu2_amd64.deb" . # OR: ar xv "xserver-xorg-input-wacom_1%3a1.2.0-1ubuntu2_amd64.deb"
tree
mv usr/bin/xsetwacom /usr/local/games # picked /usr/local/games because in my $PATH it's AFTER everything else, just in case I forget about it and it causes an issue

Related scripts:

Using the tablet tester in Krita I now correctly see negative numbers as I move the brush around and tilt it 🌟 ❤️

I do note that there are various different symbols next to brushes. It seems like the ones with the 🔁 (rotating arrows) symbol only support the rotational angle of the brush, while the ones with the ✏️ pencil-like symbol also support changing what the brush looks like when you tilt the pen at different angles relative to the graphics tablet.

System details:

  • Distro: Ubuntu 24.04.1 LTS Noble Numbat
  • Desktop environment: Unity 7.7.0+23.04.20230222.2-0ubuntu7
  • uname -a: Linux DEVICE_NAME 6.8.0-48-generic #48-Ubuntu SMP PREEMPT_DYNAMIC Fri Sep 27 14:04:52 UTC 2024 x86_64 x86_64 x86_64 GNU/Linux
  • Krita version: 5.2.2 (git f11d7a7)
    • Installed from https://apt.starbeamrainbowlabs.com/ (aka repackaged AppImage from the Krita website - just asked my CI system to update it to the latest 5.2.6, so will be ~24hrs until that completes)
  • grep "" /sys/module/wacom*/version (after fix): v2.00-1.2.0.37.g2c27caa
Extended krita details

Krita

Version: 5.2.2 (git f11d7a7)
Hidpi: true

Qt

Version (compiled): 5.15.7
Version (loaded): 5.15.7

OS Information

Build ABI: x86_64-little_endian-lp64
Build CPU: x86_64
CPU: x86_64
Kernel Type: linux
Kernel Version: 6.8.0-48-generic
Pretty Productname: Ubuntu 24.04.1 LTS
Product Type: ubuntu
Product Version: 24.04
Desktop: Unity:Unity7:ubuntu
Appimage build: Yes

Locale

Languages: en_GB, en_Latn_GB, en, en_US, en_Latn_US
C locale: en_GB.UTF-8
QLocale current: en-GB
QLocale system: en-GB
QTextCodec for locale: UTF-8

OpenGL Info

Vendor: "Intel"
Renderer: "Mesa Intel(R) Graphics (ADL GT2)"
Driver version: "4.6 (Core Profile) Mesa 24.0.9-0ubuntu0.2"
Shading language: "4.60"
Requested format: QSurfaceFormat(version 3.3, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CompatibilityProfile)
Current format: QSurfaceFormat(version 4.6, options QFlagsQSurfaceFormat::FormatOption(), depthBufferSize 24, redBufferSize 8, greenBufferSize 8, blueBufferSize 8, alphaBufferSize 8, stencilBufferSize 8, samples -1, swapBehavior QSurfaceFormat::DoubleBuffer, swapInterval 0, colorSpace QSurfaceFormat::DefaultColorSpace, profile QSurfaceFormat::CoreProfile)
GL version: 4.6
Supports deprecated functions false
Is OpenGL ES: false
supportsBufferMapping: true
supportsBufferInvalidation: true
forceDisableTextureBuffers: false
Extensions:
GL_ARB_fragment_layer_viewport
GL_EXT_draw_instanced
GL_EXT_framebuffer_multisample_blit_scaled
GL_INTEL_shader_integer_functions2
GL_ARB_vertex_shader
GL_ARB_draw_instanced
GL_ARB_seamless_cubemap_per_texture
GL_EXT_texture_compression_rgtc
GL_MESA_texture_signed_rgba
GL_EXT_texture_array
GL_ARB_gl_spirv
GL_AMD_draw_buffers_blend
GL_AMD_vertex_shader_layer
GL_ATI_blend_equation_separate
GL_AMD_vertex_shader_viewport_index
GL_EXT_shader_framebuffer_fetch_non_coherent
GL_EXT_shader_samples_identical
GL_ARB_shader_group_vote
GL_AMD_multi_draw_indirect
GL_ARB_ES3_compatibility
GL_EXT_EGL_image_storage
GL_EXT_timer_query
GL_ARB_texture_filter_anisotropic
GL_INTEL_conservative_rasterization
GL_ARB_vertex_type_10f_11f_11f_rev
GL_EXT_blend_equation_separate
GL_INTEL_shader_atomic_float_minmax
GL_ARB_arrays_of_arrays
GL_ARB_draw_buffers_blend
GL_ARB_conservative_depth
GL_NV_conditional_render
GL_ARB_timer_query
GL_AMD_seamless_cubemap_per_texture
GL_ARB_clear_texture
GL_ARB_direct_state_access
GL_ARB_get_program_binary
GL_ARB_depth_buffer_float
GL_ARB_texture_storage
GL_ARB_shader_bit_encoding
GL_ARB_texture_rg
GL_NV_copy_image
GL_ARB_framebuffer_no_attachments
GL_EXT_texture_integer
GL_ARB_pipeline_statistics_query
GL_ARB_transform_feedback3
GL_ARB_fragment_shader
GL_MESA_shader_integer_functions
GL_EXT_packed_depth_stencil
GL_ARB_texture_multisample
GL_EXT_packed_float
GL_ARB_draw_indirect
GL_ARB_invalidate_subdata
GL_ANGLE_texture_compression_dxt5
GL_KHR_no_error
GL_ARB_parallel_shader_compile
GL_MESA_pack_invert
GL_ARB_shader_texture_image_samples
GL_INTEL_performance_query
GL_ARB_map_buffer_range
GL_ARB_fragment_coord_conventions
GL_NV_depth_clamp
GL_EXT_shader_integer_mix
GL_ARB_vertex_array_object
GL_ARB_compute_variable_group_size
GL_EXT_pixel_buffer_object
GL_ARB_derivative_control
GL_3DFX_texture_compression_FXT1
GL_ARB_texture_buffer_object_rgb32
GL_ARB_texture_rgb10_a2ui
GL_EXT_depth_bounds_test
GL_ARB_shader_precision
GL_EXT_texture_filter_anisotropic
GL_ARB_explicit_uniform_location
GL_EXT_texture_snorm
GL_AMD_pinned_memory
GL_ARB_texture_rectangle
GL_ARB_cull_distance
GL_ARB_separate_shader_objects
GL_ARB_base_instance
GL_NV_alpha_to_coverage_dither_control
GL_ARB_compressed_texture_pixel_storage
GL_ARB_clip_control
GL_EXT_framebuffer_multisample
GL_ARB_ES2_compatibility
GL_OES_EGL_image
GL_ARB_shader_texture_lod
GL_ARB_seamless_cube_map
GL_NV_packed_depth_stencil
GL_ARB_query_buffer_object
GL_ARB_debug_output
GL_ARB_occlusion_query2
GL_ARB_shader_image_size
GL_ARB_buffer_storage
GL_ARB_vertex_attrib_binding
GL_AMD_depth_clamp_separate
GL_ARB_transform_feedback_instanced
GL_IBM_multimode_draw_arrays
GL_S3_s3tc
GL_ARB_shader_storage_buffer_object
GL_ARB_get_texture_sub_image
GL_ARB_half_float_vertex
GL_ARB_texture_cube_map_array
GL_ARB_vertex_type_2_10_10_10_rev
GL_EXT_polygon_offset_clamp
GL_EXT_provoking_vertex
GL_EXT_semaphore
GL_EXT_texture_compression_dxt1
GL_EXT_memory_object_fd
GL_ARB_post_depth_coverage
GL_EXT_texture_sRGB_decode
GL_EXT_texture_shadow_lod
GL_EXT_texture_sRGB
GL_EXT_shader_framebuffer_fetch
GL_ANGLE_texture_compression_dxt3
GL_ARB_tessellation_shader
GL_ARB_vertex_attrib_64bit
GL_ARB_conditional_render_inverted
GL_ARB_vertex_buffer_object
GL_ARB_robustness
GL_ARB_draw_elements_base_vertex
GL_ARB_sampler_objects
GL_ARB_framebuffer_sRGB
GL_KHR_blend_equation_advanced
GL_AMD_shader_stencil_export
GL_ARB_shader_atomic_counter_ops
GL_ARB_spirv_extensions
GL_ARB_compute_shader
GL_ARB_texture_view
GL_ARB_stencil_texturing
GL_ARB_pixel_buffer_object
GL_AMD_performance_monitor
GL_ARB_shader_image_load_store
GL_ARB_point_sprite
GL_KHR_robustness
GL_ARB_texture_non_power_of_two
GL_ARB_texture_compression_bptc
GL_NV_fragment_shader_interlock
GL_ARB_shader_objects
GL_ARB_shading_language_packing
GL_EXT_texture_swizzle
GL_EXT_texture_compression_s3tc
GL_EXT_transform_feedback
GL_ARB_explicit_attrib_location
GL_KHR_robust_buffer_access_behavior
GL_ARB_clear_buffer_object
GL_ARB_shader_ballot
GL_ARB_depth_clamp
GL_ARB_transform_feedback_overflow_query
GL_ARB_map_buffer_alignment
GL_ARB_copy_buffer
GL_ATI_texture_float
GL_AMD_query_buffer_object
GL_ARB_indirect_parameters
GL_ARB_texture_float
GL_ARB_multi_draw_indirect
GL_EXT_texture_shared_exponent
GL_NV_compute_shader_derivatives
GL_ARB_gpu_shader5
GL_MESA_texture_const_bandwidth
GL_ARB_shader_clock
GL_ARB_shading_language_include
GL_ARB_copy_image
GL_ARB_shader_stencil_export
GL_ARB_provoking_vertex
GL_ARB_shading_language_420pack
GL_KHR_parallel_shader_compile
GL_EXT_framebuffer_blit
GL_KHR_context_flush_control
GL_ARB_texture_buffer_range
GL_ARB_framebuffer_object
GL_ARB_ES3_1_compatibility
GL_KHR_texture_compression_astc_sliced_3d
GL_ARB_multi_bind
GL_KHR_texture_compression_astc_ldr
GL_ARB_blend_func_extended
GL_EXT_EGL_sync
GL_ARB_robust_buffer_access_behavior
GL_ARB_gpu_shader_fp64
GL_ARB_texture_buffer_object
GL_ARB_internalformat_query
GL_ARB_draw_buffers
GL_ARB_texture_gather
GL_ARB_sample_shading
GL_EXT_debug_label
GL_KHR_debug
GL_ARB_polygon_offset_clamp
GL_ARB_instanced_arrays
GL_EXT_semaphore_fd
GL_KHR_blend_equation_advanced_coherent
GL_AMD_texture_texture4
GL_EXT_demote_to_helper_invocation
GL_ARB_half_float_pixel
GL_ARB_texture_swizzle
GL_EXT_framebuffer_sRGB
GL_EXT_texture_sRGB_R8
GL_AMD_gpu_shader_int64
GL_ARB_internalformat_query2
GL_ARB_texture_compression_rgtc
GL_ARB_gpu_shader_int64
GL_ARB_texture_barrier
GL_ARB_program_interface_query
GL_ARB_vertex_array_bgra
GL_EXT_vertex_array_bgra
GL_ARB_texture_storage_multisample
GL_INTEL_blackhole_render
GL_ARB_viewport_array
GL_EXT_draw_buffers2
GL_EXT_framebuffer_object
GL_EXT_memory_object
GL_ARB_ES3_2_compatibility
GL_NV_texture_barrier
GL_ARB_shader_viewport_layer_array
GL_EXT_abgr
GL_AMD_shader_trinary_minmax
GL_ARB_shader_atomic_counters
GL_ARB_shader_subroutine
GL_ARB_transform_feedback2
GL_ARB_sync
GL_ARB_fragment_shader_interlock
GL_MESA_framebuffer_flip_y
GL_ARB_shader_draw_parameters
GL_ARB_texture_stencil8
GL_ARB_enhanced_layouts
GL_ARB_texture_mirror_clamp_to_edge
GL_ARB_texture_query_levels
GL_ARB_uniform_buffer_object
GL_EXT_vertex_attrib_64bit
GL_ARB_texture_border_clamp
GL_ARB_texture_query_lod
GL_AMD_conservative_depth

QPA OpenGL Detection Info
supportsDesktopGL: true
supportsOpenGLES: true
isQtPreferOpenGLES: false
Detected renderers:
(Supported) Mesa Intel(R) Graphics (ADL GT2) (4.6 (Core Profile) Mesa 24.0.9-0ubuntu0.2)
(Supported) Mesa Intel(R) Graphics (ADL GT2) (OpenGL ES 3.2 Mesa 24.0.9-0ubuntu0.2)

useBufferInvalidation (config option): false

@sbrl
Copy link

sbrl commented Nov 21, 2024

Update: xsetwacom has broken now and doesn't list any graphics tablets I have connected, which is a pain. Need to find a solution for that to make my tablet actually useable, but don't have time until tomorrow to investigate.

@sbrl
Copy link

sbrl commented Nov 22, 2024

Okay, so the problem was that by removing the `` package, I also removed xf86-input-wacom, which is not the same thing as `input-wacom`. One is the kernel module (this one), and the other is the X11 driver, as far as I understand it.

So compiling & installing the xf86-input-wacom repo from source fixed it for me.

I've written my entire process up into a blog post which I need to finish writing - I'll edit this comment tomorrow with a link to it link: https://starbeamrainbowlabs.com/blog/article.php?article=posts/555-install-wacom-driver-tilt-rotation-support.html, since the full write-up is far too long for a GitHub comment and I've already hogged this issue enough.

I summarise the process below:


Instructions for this are partially sourced from https://github.com/linuxwacom/xf86-input-wacom/wiki/Building-The-Driver#building-with-autotools.

First, install dependencies:

#shellcheck disable=SC2046
sudo apt-get install autoconf pkg-config make xutils-dev libtool xserver-xorg-dev$(dpkg -S $(which Xorg) | grep -Eo -- "-hwe-[^:]*") libx11-dev libxi-dev libxrandr-dev libxinerama-dev libudev-dev

Then, clone the git repository and checkout the latest release:

git clone https://github.com/linuxwacom/xf86-input-wacom.git
cd "xf86-input-wacom";
git tag; # Pick the latest one from this list
git switch "$(git tag | tail -n1)"; # Basically git switch TAG_NAME

It should be at the bottom, or at least that's what I found. For me, that was xf86-input-wacom-1.2.3.

Then, to build and install the software from source, run these 2 commands one at a time:

set -- --prefix="/usr" --libdir="$(readlink -e $(ls -d /usr/lib*/xorg/modules/input/../../../ | head -n1))"
if test -x ./autogen.sh; then ./autogen.sh "$@"; else ./configure "$@"; fi && make && sudo make install || echo "Build Failed"

Now you should have the X11 side of things installed. In my case that includes xsetwacom, the (questionably designed) CLI for managing the properties of connected graphics tablets. See my previous comment if that isn't the case for you.

Finally, you need to make X11 like the kernel driver. It's just a single config file. Install it like this:

mkdir -p /etc/X11/xorg.conf.d/;
sudo curl -sSv https://raw.githubusercontent.com/linuxwacom/xf86-input-wac...efs/heads/master/conf/70-wacom.conf -o /etc/X11/xorg.conf.d/70-wacom.conf

Just case things are moved around as I've seen happen in far too many comments and tutorials with broken links before, the direct link to the exact commit of this file I used is: https://github.com/linuxwacom/xf86-input-wacom/blob/47552e13e714ab6b8c2dcbce0d7e0bca6d8a8bf0/conf/70-wacom.conf

Then finally reboot and everything should Just Work™!

johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 4, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 5, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 5, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 5, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 13, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 13, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 13, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
kongwoojin pushed a commit to kongwoojin/linux-kernel that referenced this issue Dec 13, 2024
commit 49a397ad24ee5e2c53a59dada2780d7e71bd3f77 upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
mj22226 pushed a commit to mj22226/linux that referenced this issue Dec 13, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Whissi pushed a commit to Whissi/linux-stable that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Whissi pushed a commit to Whissi/linux-stable that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Whissi pushed a commit to Whissi/linux-stable that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Whissi pushed a commit to Whissi/linux-stable that referenced this issue Dec 14, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 15, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 15, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 15, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
johnny-mnemonic pushed a commit to linux-ia64/linux-stable-rc that referenced this issue Dec 15, 2024
commit 49a397a upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
claxten10 pushed a commit to mt6781-devs/android_kernel_xiaomi_mt6781 that referenced this issue Dec 15, 2024
commit 49a397ad24ee5e2c53a59dada2780d7e71bd3f77 upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 8f0faea ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Ksawlii pushed a commit to Ksawlii/android_kernel_samsung_a53x-FireAsf that referenced this issue Dec 17, 2024
commit 49a397ad24ee5e2c53a59dada2780d7e71bd3f77 upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd26f03c ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
@jigpu
Copy link
Member

jigpu commented Dec 18, 2024

@sbrl and anyone else who comes across this thread in the future, I strongly advise against those particular installation steps if you are "just" trying to get the input-wacom driver working. The "input-wacom" and "xf86-input-wacom" drives are completely separate things; you will never need to replace the latter to get the former working. (In extremely rare instances you /do/ have to install updated versions of both packages, but if you're /only/ trying to update input-wacom it is not required!)

I suspect that what was happening is that the modprobe program will not necessarily make use of the newly-installed driver without a reboot. If it still is not being used after a reboot, then there is a problem with our build scripts that we'll need to address (specifically: something weird will be going on with depmod...).

@Ulisesrec
Copy link
Author

Oh, eh wait i haven't used the tilt in sometime so i didn't notice, but i just checked and It is Broken again, do i have to update It? (did It broke bc It maybe updated itself? It is now v2.00) Or i have to install the fix again?

@jigpu
Copy link
Member

jigpu commented Dec 18, 2024

Your system more than likely installed a kernel update that broke things. The driver built by input-wacom is tied to a specific kernel version, so it will "stop working" when an update comes along. If you rebuild and reinstall input-wacom, things should start working again. (Unfortunately you'll have to rebuild/reinstall for every kernel update until your distro ships a version of our driver that includes the fix).

@Ulisesrec
Copy link
Author

Oooh i see, thanks!
I do have to install this specific one right? The fix-445
And well it may be kinda of annoying having It break but it's not too much of a hassle

@jigpu
Copy link
Member

jigpu commented Dec 18, 2024

The fix is not in a released version of input-wacom yet, but it has been merged onto its master branch. You don't need to rely on my own personal "fix-445" branch anymore (though that does still also work)

Instead of using git clone https://github.com/jigpu/input-wacom.git -b fix-445 I recommend using git clone https://github.com/linuxwacom/input-wacom.git to get the most up-to-date version of input-wacom.

The fix should trickle its way into distributions soon, at which point you should be able to stop relying on input-wacom.

@Ulisesrec
Copy link
Author

Okay, thanks!

alexeei pushed a commit to alexeei/kernel_xiaomi_lmi that referenced this issue Dec 23, 2024
commit 49a397ad24ee5e2c53a59dada2780d7e71bd3f77 upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
XeroMz69 pushed a commit to XeroMz69/Bumi-Kernel-Tree that referenced this issue Dec 26, 2024
commit 49a397ad24ee5e2c53a59dada2780d7e71bd3f77 upstream.

The tilt data contained in the Bluetooth packets of an Intuos Pro are
supposed to be interpreted as signed values. Simply casting the values
to type `char` is not guaranteed to work since it is implementation-
defined whether it is signed or unsigned. At least one user has noticed
the data being reported incorrectly on their system. To ensure that the
data is interpreted properly, we specifically cast to `signed char`
instead.

Link: linuxwacom/input-wacom#445
Fixes: 4922cd2 ("HID: wacom: Support 2nd-gen Intuos Pro's Bluetooth classic interface")
CC: stable@vger.kernel.org # 4.11+
Signed-off-by: Jason Gerecke <jason.gerecke@wacom.com>
Signed-off-by: Jiri Kosina <jkosina@suse.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

3 participants