summary refs log tree commit diff
path: root/gnu
diff options
context:
space:
mode:
authorTobias Kortkamp <tobias.kortkamp@gmail.com>2022-12-09 14:13:50 +0100
committerLudovic Courtès <ludo@gnu.org>2022-12-26 00:46:31 +0100
commitbc157ca62b75b7e7563ca9d1c4de89489d79deb8 (patch)
tree5bfa06525a538461639179f3803995796f1f99ef /gnu
parent5f6bd3f92dee29e3463cba24287618214e3d454e (diff)
downloadguix-bc157ca62b75b7e7563ca9d1c4de89489d79deb8.tar.gz
gnu: Add wvkbd.
* gnu/packages/xdisorg.scm (wvkbd): New variable.

Co-authored-by: Ludovic Courtès <ludo@gnu.org>
Diffstat (limited to 'gnu')
-rw-r--r--gnu/packages/xdisorg.scm51
1 files changed, 51 insertions, 0 deletions
diff --git a/gnu/packages/xdisorg.scm b/gnu/packages/xdisorg.scm
index 5c4fd79091..10edfc7379 100644
--- a/gnu/packages/xdisorg.scm
+++ b/gnu/packages/xdisorg.scm
@@ -56,6 +56,7 @@
 ;;; Copyright © 2022 Jai Vetrivelan <jaivetrivelan@gmail.com>
 ;;; Copyright © 2022 Derek Chuank <derekchuank@outlook.com>
 ;;; Copyright © 2022 Wamm K. D. <jaft.r@outlook.com>
+;;; Copyright © 2022 Tobias Kortkamp <tobias.kortkamp@gmail.com>
 ;;;
 ;;; This file is part of GNU Guix.
 ;;;
@@ -3268,3 +3269,53 @@ light filter or night light.")
     (description "@code{ydotool} is a Linux command-line tool that simulates
 keyboard input, mouse actions, etc.  programmatically or manually.")
     (license license:agpl3+)))
+
+(define-public wvkbd
+  (package
+    (name "wvkbd")
+    (version "0.12")
+    (source (origin
+              (method git-fetch)
+              (uri (git-reference
+                    (url "https://git.sr.ht/~proycon/wvkbd")
+                    (commit (string-append "v" version))))
+              (file-name (git-file-name name version))
+              (sha256
+               (base32
+                "05zl6jhw7pj7w2cd02m3i0zzn1z99kzwh2mlg9h96j5aw1x1lvp6"))))
+    (build-system gnu-build-system)
+    (arguments
+     (list #:tests? #f ;no tests
+           #:make-flags #~(list (string-append "CC="
+                                               #$(cc-for-target))
+                                (string-append "PREFIX="
+                                               #$output))
+           #:phases #~(modify-phases %standard-phases
+                        (add-after 'unpack 'fix-cross-compile
+                          (lambda _
+                            (substitute* "Makefile"
+                              (("pkg-config")
+                               #$(pkg-config-for-target)))))
+                        (delete 'configure))))
+    (native-inputs (list wayland ;for wayland-scanner
+                         pkg-config))
+    (inputs (list libxkbcommon cairo pango harfbuzz wayland))
+    (home-page "https://git.sr.ht/~proycon/wvkbd")
+    (synopsis "On-screen keyboard for wlroots compositors")
+    (description
+     "This package provides on-screen keyboard for wlroots compositors with
+the following features:
+
+@itemize
+@item Typing, modifier locking, layout switching
+@item Positive visual feedback on key presses
+@item On-the-fly layout and keymap switching
+@item Custom color schemes
+@item International layouts (cyrillic, arabic)
+@item Emoji support
+@item Compose key for character variants (e.g. diacritics)
+@item Show/hide keyboard on signals (SIGUSR1 = hide, SIGUSR2 = show, SIGRTMIN = toggle)
+@item Automatic portrait/landscape detection and subsequent layout switching
+@end itemize")
+    (license (list license:expat  ;3 files under Expat license (see 'LICENSE')
+                   license:gpl3+))))              ;the rest is GPLv3+