Skip to main content
Version: Matrix OS 3.2

KeyInfo

Preview notice

The MatrixOS Python API is in preview and is subject to change; it may contain errors.

Overview

The KeyInfo class contains detailed information about a key's state, including timing data, force/pressure, and activity status. It provides methods to query key behavior and detect various input patterns.

The Python KeyInfo class is implemented in Applications/Python/PikaPython/MatrixOS_KeyInfo.py with type hints in Applications/Python/PikaPython/_MatrixOS_KeyInfo.pyi.


Constructor

KeyInfo(*val)

def __init__(self, *val) -> None

Creates a KeyInfo instance with variable arguments.

Parameters:

  • *val: Variable arguments for initialization

Methods

State

def State(self) -> int

Gets the current key state value.

Returns:

  • int: The key state (corresponds to KeyState enum values)

Force

def Force(self) -> float

Gets the force/pressure applied to the key.

Returns:

  • float: Force value (0.0 to 1.0)

Value

def Value(self, index: int = 0) -> float

Gets a specific value from the key information.

Parameters:

  • index (int, optional): Value index (default: 0)

Returns:

  • float: Value at specified index

LastEventTime

def LastEventTime(self) -> int

Gets the timestamp of the last key event.

Returns:

  • int: Timestamp in milliseconds of the last event

Hold

def Hold(self) -> bool

Checks if the key is being held down.

Returns:

  • bool: True if key is being held, False otherwise

Active

def Active(self) -> bool

Checks if the key is currently active (pressed).

Returns:

  • bool: True if key is active/pressed, False otherwise

HoldTime

def HoldTime(self) -> int

Gets the duration the key has been held down.

Returns:

  • int: Hold duration in milliseconds

__bool__

def __bool__(self) -> bool

Allows KeyInfo to be used in boolean contexts.

Returns:

  • bool: True if KeyInfo represents a valid key state

Comments