LoginSignup
4
3

More than 5 years have passed since last update.

Magic Mouse を Ubuntu で利用する

Last updated at Posted at 2018-12-31

Ubuntu Mintでも MagicMouse1 は普通のBluetoothマウスとして利用することができます。MagicTrackも使えるようになってきてるみたいです。(https://github.com/robotrovsky/Linux-Magic-Trackpad-2-Driver ) スワイプにはまだ対応ができてないです。

MagicMouseの認識(hid_magicmouse )

Bluetoothの認識をします。(最初何故かどうしても接続したあとにすぐに切断を繰り返していたのですが治りました) きちんと認識出ているとこのようにモジュールがロードされていることがわかります。

❯❯❯ lsmod | grep hid_magicmouse
hid_magicmouse         16384  0
hid                   118784  5 i2c_hid,hid_elecom,hidp,hid_multitouch,hid_magicmouse

以下のように設定するとスクロール速度を変えることができます。

sudo rmmod hid_magicmouse
sudo modprobe hid_magicmouse scroll_acceleration=1 scroll_speed=30

永続的に実施する場合には

/etc/modprobe.d/hid_magicmouse.conf
options hid_magicmouse scroll_acceleration=1 scroll_speed=40

Mouseの設定

マウスの詳細のパラメータを変更するためには xinput を利用することで変更することができます。もしかしたら利用ているディストリビューションによってはGUIで変更できるかもしれません。

デバイス番号の取得

❯❯❯ xinput --list --short
⎡ Virtual core pointer                        id=2    [master pointer  (3)]
⎜   ↳ Virtual core XTEST pointer                id=4    [slave  pointer  (2)]
⎜   ↳ ELAN2301:00 04F3:306B Touchpad            id=11   [slave  pointer  (2)]
⎜   ↳ atgのマウス                           id=15   [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)]
    ↳ Video Bus                                   id=8    [slave  keyboard (3)]
    ↳ Sleep Button                                id=9    [slave  keyboard (3)]
    ↳ XiaoMi USB 2.0 Webcam: XiaoMi U             id=10   [slave  keyboard (3)]
    ↳ AT Translated Set 2 keyboard                id=12   [slave  keyboard (3)]
    ↳ HP Wireless hotkeys                         id=13   [slave  keyboard (3)]
    ↳ Dell AIO WMI hotkeys                        id=14   [slave  keyboard (3)]

マウスがわかれば設定を取得できます。

❯❯❯ xinput --list-props "atgのマウス"
Device 'atgのマウス':
    Device Enabled (142):   1
    Coordinate Transformation Matrix (144): 1.000000, 0.000000, 0.000000, 0.000000, 1.000000, 0.000000, 0.000000, 0.000000, 1.000000
    libinput Natural Scrolling Enabled (285):   1
    libinput Natural Scrolling Enabled Default (286):   0
    libinput Scroll Methods Available (289):    0, 0, 1
    libinput Scroll Method Enabled (290):   0, 0, 0
    libinput Scroll Method Enabled Default (291):   0, 0, 0
    libinput Button Scrolling Button (606): 2
    libinput Button Scrolling Button Default (607): 2
    libinput Middle Emulation Enabled (295):    1
    libinput Middle Emulation Enabled Default (296):    0
    libinput Accel Speed (297): 0.444414
    libinput Accel Speed Default (298): 0.000000
    libinput Accel Profiles Available (608):    1, 1
    libinput Accel Profile Enabled (609):   1, 0
    libinput Accel Profile Enabled Default (610):   1, 0
    libinput Left Handed Enabled (299): 0
    libinput Left Handed Enabled Default (300): 0
    libinput Send Events Modes Available (262): 1, 0
    libinput Send Events Mode Enabled (263):    0, 0
    libinput Send Events Mode Enabled Default (264):    0, 0
    Device Node (265):  "/dev/input/event16"
    Device Product ID (266):    1452, 781
    libinput Drag Lock Buttons (301):   <no items>
    libinput Horizontal Scroll Enabled (302):   1

こちらの設定の libinput Natural Scrolling Enabled を 1 に設定するとナチュラルスクロールになります。設定は xinput set-prop で行うことができます。

xinput --set-prop "atgのマウス"  "libinput Natural Scrolling Enabled" 1
xinput --set-prop "atgのマウス"  "libinput Horizontal Scroll Enabled" 0

これらの設定をXログイン時に起動するか、またはXorgの設定として記載してもよいかと思います。MagicmouseはBluetoothなので接続したり切断したりを繰り返します。この手のデバイスの設定は都度行われるため Udev などを利用して設定を行うことになります。

❯❯❯ udevadm monitor
monitor will print the received events for:
UDEV - the event which udev sends out after rule processing
KERNEL - the kernel uevent

KERNEL[580.325963] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/power_supply/hid-60:fb:42:fe:75:70-battery (power_supply)
KERNEL[580.326116] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/input/input20/mouse1 (input)
UDEV  [580.327811] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/power_supply/hid-60:fb:42:fe:75:70-battery (power_supply)
UDEV  [580.328519] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/input/input20/mouse1 (input)
KERNEL[580.340319] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/input/input20/event16 (input)
UDEV  [580.343579] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/input/input20/event16 (input)
KERNEL[580.364424] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/input/input20 (input)
KERNEL[580.364600] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/hidraw/hidraw1 (hidraw)
KERNEL[580.364642] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004 (hid)
KERNEL[580.364672] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004 (hid)
UDEV  [580.367070] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/input/input20 (input)
UDEV  [580.367329] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004/hidraw/hidraw1 (hidraw)
UDEV  [580.368688] unbind   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004 (hid)
UDEV  [580.369779] remove   /devices/pci0000:00/0000:00:14.0/usb1/1-7/1-7:1.0/bluetooth/hci0/hci0:512/0005:05AC:030D.0004 (hid)
KERNE

このような形で udev が動いているのでこのイベントに対してのルールを記載していけば随時設定が反映されることになります。

4
3
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
4
3