---
name: "joyhandle"
section: "9"
platform: "linux"
package: "linuxcnc-uspace"
version: "1:2.9.4-2+deb13u1"
release: "Debian 13 (Trixie)"
platforms: ["linux"]
url: "https://new.carta.tech/joyhandle"
---

# joyhandle(9)

sets nonlinear joypad movements, deadbands and scales

## NAME

joyhandle - sets nonlinear joypad movements, deadbands and scales

## SYNOPSIS

**loadrt joyhandle \[count=*N*\|names=*name1*\[,*name2...*\]\]**

## DESCRIPTION

The component **joyhandle** uses the following formula for a non linear joypad movements:

**y = (scale \* (a\*x^power + b\*x)) + offset**

The parameters a and b are adjusted in such a way, that the function starts at (deadband,offset) and ends at (1,scale+offset).

Negative values will be treated point symmetrically to origin. Values -deadband \< x \< +deadband will be set to zero.

Values x \> 1 and x \< -1 will be skipped to ±(scale+offset). Invert transforms the function to a progressive movement.

With power one can adjust the nonlinearity (default = 2). Default for deadband is 0.

Valid values are: power \>= 1.0 (reasonable values are 1.x .. 4‐5, take higher power‐values for higher deadbands (\>0.5), if you want to start with a nearly horizontal slope), 0 \<= deadband \< 0.99 (reasonable 0.1).

An additional offset component can be set in special cases (default = 0).

All values can be adjusted for each instance separately.

## FUNCTIONS

- **joyhandle.***N* (requires a floating-point thread)

  ## PINS

- **joyhandle.*N*.in float in**

  - **joyhandle.*N*.out float out**

  ## PARAMETERS

- **joyhandle.*N*.power float rw (default: *2.0*)**

  - **joyhandle.*N*.deadband float rw (default: *0.*)**

  - **joyhandle.*N*.scale float rw (default: *1.*)**

  - **joyhandle.*N*.offset float rw (default: *0.*)**

  - **joyhandle.*N*.inverse bit rw (default: *0*)**

  ## AUTHOR

Paul Willutzki

## LICENSE

GPL
