package wayland

  1. Overview
  2. Docs
Legend:
Library
Module
Module type
Parameter
Class
Class type

Keyboard input device.

The wl_keyboard interface represents one or more keyboards associated with a seat.

type 'v t = ([ `Wl_keyboard ], 'v, [ `Server ]) Proxy.t

Version 1, 2

val modifiers : [< `V1 | `V2 | `V3 | `V4 | `V5 | `V6 | `V7 | `V8 ] t -> serial:int32 -> mods_depressed:int32 -> mods_latched:int32 -> mods_locked:int32 -> group:int32 -> unit

Modifier and group state.

Notifies clients that the modifier and/or group state has changed, and it should update its local state.

val key : [< `V1 | `V2 | `V3 | `V4 | `V5 | `V6 | `V7 | `V8 ] t -> serial:int32 -> time:int32 -> key:int32 -> state:{Imports}1.Wl_keyboard.Key_state.t -> unit

Key event.

A key was pressed or released. The time argument is a timestamp with millisecond granularity, with an undefined base.

The key is a platform-specific key code that can be interpreted by feeding it to the keyboard mapping (see the keymap event).

If this event produces a change in modifiers, then the resulting wl_keyboard.modifiers event must be sent after this event.

val leave : [< `V1 | `V2 | `V3 | `V4 | `V5 | `V6 | `V7 | `V8 ] t -> serial:int32 -> surface:([ `Wl_surface ], 'a, [ `Server ]) Proxy.t -> unit

Leave event.

Notification that this seat's keyboard focus is no longer on a certain surface.

The leave notification is sent before the enter notification for the new focus.

After this event client must assume that all keys, including modifiers, are lifted and also it must stop key repeating if there's some going on.

val enter : [< `V1 | `V2 | `V3 | `V4 | `V5 | `V6 | `V7 | `V8 ] t -> serial:int32 -> surface:([ `Wl_surface ], 'a, [ `Server ]) Proxy.t -> keys:string -> unit

Enter event.

Notification that this seat's keyboard focus is on a certain surface.

The compositor must send the wl_keyboard.modifiers event after this event.

val keymap : [< `V1 | `V2 | `V3 | `V4 | `V5 | `V6 | `V7 | `V8 ] t -> format:{Imports}1.Wl_keyboard.Keymap_format.t -> fd:Unix.file_descr -> size:int32 -> unit

Keyboard mapping.

This event provides a file descriptor to the client which can be memory-mapped in read-only mode to provide a keyboard mapping description.

From version 7 onwards, the fd must be mapped with MAP_PRIVATE by the recipient, as MAP_SHARED may fail.

Version 3

Version 4, 5, 6, 7, 8

val repeat_info : [< `V4 | `V5 | `V6 | `V7 | `V8 ] t -> rate:int32 -> delay:int32 -> unit

Repeat rate and delay.

Informs the client about the keyboard's repeat rate and delay.

This event is sent as soon as the wl_keyboard object has been created, and is guaranteed to be received by the client before any key press event.

Negative values for either rate or delay are illegal. A rate of zero will disable any repeating (regardless of the value of delay).

This event can be sent later on as well with a new value if necessary, so clients should continue listening for the event past the creation of wl_keyboard.

Handlers

Note: Servers will always want to use v1.

class virtual +'a v1 : object ... end

Handler for a proxy with version >= 1.

class virtual +'a v2 : object ... end

Handler for a proxy with version >= 2.

class virtual +'a v3 : object ... end

Handler for a proxy with version >= 3.

class virtual +'a v4 : object ... end

Handler for a proxy with version >= 4.

class virtual +'a v5 : object ... end

Handler for a proxy with version >= 5.

class virtual +'a v6 : object ... end

Handler for a proxy with version >= 6.

class virtual +'a v7 : object ... end

Handler for a proxy with version >= 7.

class virtual +'a v8 : object ... end

Handler for a proxy with version >= 8.

OCaml

Innovation. Community. Security.