---
name: "hpen"
section: "4"
platform: "freebsd"
package: "base"
version: "16.0-CURRENT-20261027-61c70dc16a79"
release: "FreeBSD 16.0-CURRENT (2026-10-27)"
platforms: ["freebsd"]
url: "https://new.carta.tech/hpen"
---

# hpen(4)

MS Windows compatible HID pen tablet driver

## NAME

**hpen** – MS Windows compatible HID pen tablet driver

## SYNOPSIS

To compile this driver into the kernel, place the following lines in your kernel configuration file:

**device hpen** **device hid** **device hidbus** **device hidmap** **device evdev**

Alternatively, to load the driver as a module at boot time, place the following line in [loader.conf(5)](/loader.conf/5.md):

```
hpen_load="YES"
```

## DESCRIPTION

The **hpen** driver provides support for generic MS Windows compatible HID pen tablet and digitizer that attach to the HID transport backend. See [iichid(4)](/iichid/4.md) or [usbhid(4)](/usbhid/4.md).

The */dev/input/event\** device presents the pen as a *evdev* type device.

## SYSCTL VARIABLES

The following variable is available as both [sysctl(8)](/sysctl/8.md) variable and [loader(8)](/loader/8.md) tunable:

- *dev.hpen.X.debug*

  Debug output level, where 0 is debugging disabled and larger values increase debug message verbosity. Default is 0.

It's default value is set with [loader(8)](/loader/8.md) tunable:

- *hw.hid.hpen.debug*

  ## FILES

- */dev/input/event\**

  input event device node.

## SEE ALSO

[iichid(4)](/iichid/4.md), [usbhid(4)](/usbhid/4.md), [xorg.conf(5)](/xorg.conf/5.md) (*ports/x11/xorg*)

## BUGS

**hpen** cannot act like [sysmouse(4)](/sysmouse/4.md).

Pen battery charge level reporting is not supported.

## HISTORY

The **hpen** driver first appeared in FreeBSD 13.0.

## AUTHORS

The **hpen** driver was written by Val Packett ⟨*val@packett.cool*⟩.

This manual page was written by Vladimir Kondratyev ⟨*wulf@FreeBSD.org*⟩.
