マウスがキーボードxinputとして認識される(Fedora 22)

マウスがキーボードxinputとして認識される(Fedora 22)

私は最近Cougar 700mゲーム用マウスを購入しましたが、Fedora 22では動作しません。 xinput を実行してスレーブキーボードとしてリストします。

⎡ Virtual core pointer                      id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ PS/2 Generic Mouse                        id=11   [slave  pointer  (2)]
⎜   ↳ SynPS/2 Synaptics TouchPad                id=12   [slave  pointer  (2)]
⎜   ↳ Wacom Serial Penabled 2FG Touchscreen stylus  id=15   [slave  pointer  (2)]
⎜   ↳ Wacom Serial Penabled 2FG Touchscreen eraser  id=16   [slave  pointer  (2)]
⎜   ↳ Wacom Serial Penabled 2FG Touchscreen touch   id=17   [slave  pointer  (2)]
⎣ Virtual core keyboard                     id=3    [master keyboard (2)]
    ↳ Virtual core XTEST keyboard               id=5    [slave  keyboard (3)]
    ↳ Power Button                              id=6    [slave  keyboard (3)]
    ↳ Video Bus                                 id=7    [slave  keyboard (3)]
    ↳ Sleep Button                              id=8    [slave  keyboard (3)]
    ↳ HP HD Webcam [Fixed]                      id=9    [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard              id=10   [slave  keyboard (3)]
    ↳ HP WMI hotkeys                            id=14   [slave  keyboard (3)]
    ↳ COUGAR 700M COUGAR 700M Gaming Mouse      id=13   [slave  keyboard (3)]

カーネルを再コンパイルする以外に、この問題を解決する方法はありますか?

uname -r : 4.0.4-303.fc22.x86_64

答え1

驚くべきことに、以前の答えはうまくいきます!

私はCougar 700mを持っていますが、Ubuntuでは動作しません。 Ubuntu 14.04 LTSでカーネルをダウンロード、パッチ、コンパイルする手順(ほとんどの場合、次から取得)https://help.ubuntu.com/community/Kernel/Compile):

sudo apt-get install linux-source
cd src/
tar xjvf /usr/src/linux-source-3.13.0.tar.bz2 
cd linux-source-3.13.0/
cp -vi /boot/config-`uname -r` .config
make oldconfig
make localmodconfig
make xconfig
cd include/linux/
(modify HID_MAX_USAGES as required)
cd ../../
make -j4 deb-pkg
cd ../
sudo dpkg -i linux-headers-3.13.11-ckt30_3.13.11-ckt30-1_amd64.deb 
sudo dpkg -i linux-image-3.13.11-ckt30_3.13.11-ckt30-1_amd64.deb 

残念ながら、このようなことをするにはカーネルパッチが必要ですが、実際には非常に簡単です。もちろん、カーネルを更新するたびにパッチを再適用する必要があります...

答え2

次のパッチを使用してカーネルを再構築します。

--- a/include/linux/hid.h       2014-09-22 01:41:22.907084621 -0400
+++ b/include/linux/hid.h       2014-09-22 01:42:10.166556867 -0400
@@ -333,7 +333,7 @@
  * This is the local environment. It is persistent up the next main-item.
  */

-#define HID_MAX_USAGES                 12288
+#define HID_MAX_USAGES                 32768
 #define HID_DEFAULT_NUM_COLLECTIONS    16

 struct hid_local {

関連情報