| # Copyright 2016 The Chromium OS Authors. All rights reserved. |
| # Use of this source code is governed by a BSD-style license that can be |
| # found in the LICENSE file. |
| |
| # The rules in this file are supposed to be applied after |
| # 50-udev-default.rules in which all built-in rules are applied. |
| |
| # Twist the INPUT properties by checking blutooth related properties. |
| # If a bluetooth device advertises itself as a mouse, the properties |
| # ID_INPUT_KEYBOARD and ID_INPUT_KEY must be set to empty. This helps |
| # chrome OOBE to make correct decision for pairing bluetooth keyboard |
| # and mouse. |
| # Microsoft Sculpt Touch Mouse is an example. It is a pure mouse but |
| # reports capabilities of both mouse events and keyboard events. This |
| # makes OOBE to pair with it as keyboard and mouse which prevents |
| # other actual bluetooth keyboard from being paired. |
| SUBSYSTEM=="input", ACTION=="add|change", ENV{ID_INPUT}=="1", PROGRAM="/usr/bin/get_bluetooth_device_class.sh $attr{device/uniq}" |
| RESULT=="mouse", ENV{ID_INPUT_KEYBOARD}=="1", ENV{ID_INPUT_KEYBOARD}="" |
| RESULT=="mouse", ENV{ID_INPUT_KEY}=="1", ENV{ID_INPUT_KEY}="" |