package miaou-driver-matrix

  1. Overview
  2. Docs

Source file matrix_io.ml

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
(*****************************************************************************)
(*                                                                           *)
(* SPDX-License-Identifier: MIT                                              *)
(* Copyright (c) 2025 Nomadic Labs <contact@nomadic-labs.com>                *)
(*                                                                           *)
(*****************************************************************************)

type event =
  | Key of string
  | MousePress of int * int * int
      (** Mouse button pressed at (row, col, button). button: 0=left, 1=middle, 2=right *)
  | Mouse of int * int * int
      (** Mouse button released (click) at (row, col, button). button: 0=left, 1=middle, 2=right *)
  | MouseDrag of int * int  (** Mouse motion while button held *)
  | Resize
  | Refresh
  | Idle
  | Quit

type t = {
  write : string -> unit;
  drain : unit -> event list;
  size : unit -> int * int;
  invalidate_size_cache : unit -> unit;
}