Bluetooth is undergoing changes, so your version is important.
In a terminal (ctrl-alt-t) find the bluetooth version by typing:
bluetoothd --version
The result will be a number like 4.101 for version 4 of bluez or 5.36 for version 5.
Ubuntu 14.04 uses version 4.101, and does have problems keeping a connection with the Microsoft Sculpt Comfort Mouse. Ubuntu 16.04 alpha uses version 5.36, and works flawlessly, even without the correct oid for my mouse in the gnome-bluetooth pin database.
The basic problem with 14.04 is that the link key is not saved when the mouse is paired, so the connection is not really complete. The pairing (for version 4) should create a link key in file
/var/lib/bluetooth//linkkeys. The mouse address is used in the "names" and "trusts" files, but not in the linkkeys file IF IT IS NOT ALREADY PRESENT. Add the line yourself (even
the example line with an improper hex key), and it should be properly maintained in future pairings.
Example line:
C0:33:5E:01:8A:AC DEADBEEFDEADBEEFDEADBEEFDEADBEEF 4 0
The file is root only rw, so either become root to edit or unprotect, edit, reprotect it.
Version 5 has a totally different location,(/var/lib/bluetooth/<host bt addr>/<mouse address>/info
) and way of storing the link and other information, and seems to work with 16.04 (daily).
If that doesn't fix the problem, try adding in file
/etc/udev/rules.d/99-bluetooth.rules
ACTION=="add", SUBSYSTEM=="bluetooth", ATTR{product}=="Microsoft Sculpt Comfort Mouse", ATTR{power/control}="on"