Version: 2.0.1  

Last updated: 2026-09-28

## Overview

This document applies to mice only and does not include trackpads or trackballs.


### Minimum and Additional Requirements

This specification document is divided into two sections:

1. **Minimum** requirements describe the criteria for a peripheral category to be compatible.
2. **Additional** requirements describe the criteria for certification.

Use these navigation buttons to show only the minimum or both the minimum
and additional specification, respectively.
<button value="min">Minimum</button> <button value="add" default="">Minimum and Additional</button>

<br />

## Legend

| Product Verb | Development Action |
|---|---|
| "MUST" | Mandatory product requirement |
| "SHOULD" | Optional recommendation |
| "MAY" | Nice to have |

## MINIMUM REQUIREMENTS

### Generic peripheral Specifications

- The peripheral MUST meet the [minimum requirements](https://developers.google.com/chromeos/peripherals/cc-generic-peripheral-v2#minimum-requirements) defined in the Generic peripheral specifications.

### Software

#### Kernel

- If a custom kernel driver is used, it MUST be checked into upstream Linux.

- If a custom kernel driver is used, it MUST be backported to Chromium OS
  kernels 5.4 and later.

- When a mouse is switched off or disconnected, the kernel MUST remove the
  mouse from the collection of input devices.

### Buttons

- If the mouse contains a button with a default function, the mouse MUST report the default function using a corresponding KEY_ or BTN_ code outlined in the [linux kernel](https://source.chromium.org/chromiumos/chromiumos/codesearch/+/main:src/third_party/kernel/upstream/include/uapi/linux/input-event-codes.h).

## ADDITIONAL REQUIREMENTS

Along with the [Minimum requirements](https://developers.google.com/chromeos/peripherals/cc-mouse-v2#minimum-requirements), a peripheral
**MUST** meet the following mandatory requirements to achieve certification.

### Generic peripheral Specifications

- **\[Mandatory\]** The peripheral MUST meet the [additional requirements](https://developers.google.com/chromeos/peripherals/cc-generic-peripheral-v2#additional-requirements) defined in the Generic peripheral specifications.

### Hardware and Visual Design

#### Low power mode

- **\[Optional\]** When the mouse experiences a period of no activity, the mouse SHOULD go into a lower power mode.

> [!NOTE]
> **Note:** A lower power mode is achieved by reducing the scan rate.

### Software

#### Buttons

- **\[Optional\]** The mouse SHOULD only report a key if it is physically present on the mouse, or can be mapped to one of the mouse's buttons using a configuration tool.

#### Battery Reporting

- **\[Mandatory\]** If the mouse contains a battery, the device MUST report battery level using the standard HID General Purpose Battery Strength report.

#### Charging

- **\[Mandatory\]** If the mouse uses a rechargeable battery, the mouse MUST
  support recharging by using the USB-C.

- **\[Mandatory\]** If the mouse includes a USB-C charger, the charger MUST be
  [USB-IF](https://www.usb.org/compliance) certified.

<br />

## Revision history

| Date | Version | Notes |
|---|---|---|
| 2026-09-28 | 2.0.1 | Formatting update. |
| 2026-03-13 | 2.0 | Update documentation |
| 2024-02-01 | 1.0.1 | Initial publication on Google Developers platform. |
| 2023-05-19 | 1.0 | Initial publication. |

<br />