Mercurial > core / lisp/ffi/evdev/pkg.lisp
changeset 684: |
29fe829a7ac3 |
child: |
ebe3315b7add |
author: |
Richard Westhaver <ellis@rwest.io> |
date: |
Sun, 29 Sep 2024 00:31:24 -0400 |
permissions: |
-rw-r--r-- |
description: |
evdev and io/kbd |
1 ;;; pkg.lisp --- libevdev FFI 7 ;; note that we also wrap the linux input subsystem linux/input.h which does 8 ;; not require loading of the libevdev shared library. See input.lisp. 11 (defpackage :evdev/input 12 (:use :cl :std :sb-alien) 18 (:use :cl :std :sb-alien :evdev/input) 22 (define-alien-loader "evdev" t "/usr/lib/") 24 (define-alien-type libevdev (struct libevdev)) 26 (define-alien-enum (libevdev-read-flag unsigned-char) 32 (define-alien-routine libevdev-new (* libevdev)) 34 (define-alien-routine libevdev-new-from-fd int 36 (dev (* (* libevdev)))) 38 (define-alien-routine libevdev-free void 41 (define-alien-enum (libevdev-log-priority unsigned-char) 48 (define-alien-type va-list (struct va-list 49 (gp-offset unsigned-int) 50 (fp-offset unsigned-int) 51 (overflow-arg-area (* t)) 52 (reg-save-area (* t)))) 54 (define-alien-type libevdev-log-function 64 (define-alien-routine libevdev-set-log-function void 65 (logfunc libevdev-log-function) 68 (define-alien-routine libevdev-set-log-priority void 69 (priority libevdev-log-priority)) 71 (define-alien-routine libevdev-get-log-priority libevdev-log-priority) 73 (define-alien-type libevdev-device-log-function 84 (define-alien-routine libevdev-set-device-log-function void 86 (logfunc libevdev-device-log-function) 87 (priority libevdev-log-priority) 90 (define-alien-enum (libevdev-grab-mode unsigned-char) 94 (define-alien-routine libevdev-grab int 96 (grab libevdev-grab-mode)) 98 (define-alien-routine libevdev-set-fd int 102 (define-alien-routine libevdev-get-fd int