vmware-guest: fix vmmouse driver

Fix automatic mouse grabbing/releasing when running as a vmware guest.

1. The xf86inputvmmouse is not loaded by default. Add it.
2. InptutDevice sections for which specify a driver are ignored if
AutoAddDevices is enabled (which it is by default). See [1]. Instead use
an InputClass to load the vmmouse driver.

[1] https://www.x.org/archive/X11R7.7/doc/man/man5/xorg.conf.5.xhtml#heading8
This commit is contained in:
Andreas Noever 2016-11-16 23:43:42 +01:00
parent 9524aedfc8
commit 9a1507f253

View File

@ -5,6 +5,7 @@ with lib;
let let
cfg = config.services.vmwareGuest; cfg = config.services.vmwareGuest;
open-vm-tools = pkgs.open-vm-tools; open-vm-tools = pkgs.open-vm-tools;
xf86inputvmmouse = pkgs.xorg.xf86inputvmmouse;
in in
{ {
options = { options = {
@ -29,18 +30,17 @@ in
services.xserver = { services.xserver = {
videoDrivers = mkOverride 50 [ "vmware" ]; videoDrivers = mkOverride 50 [ "vmware" ];
modules = [ xf86inputvmmouse ];
config = '' config = ''
Section "InputDevice" Section "InputClass"
Identifier "VMMouse" Identifier "VMMouse"
MatchDevicePath "/dev/input/event*"
MatchProduct "ImPS/2 Generic Wheel Mouse"
Driver "vmmouse" Driver "vmmouse"
EndSection EndSection
''; '';
serverLayoutSection = ''
InputDevice "VMMouse"
'';
displayManager.sessionCommands = '' displayManager.sessionCommands = ''
${open-vm-tools}/bin/vmware-user-suid-wrapper ${open-vm-tools}/bin/vmware-user-suid-wrapper
''; '';