mirror of
git://git.savannah.gnu.org/guix.git
synced 2023-12-14 03:33:07 +01:00
gnu: Add keynav.
* gnu/packages/xorg.scm (keynav): New variable.
This commit is contained in:
parent
ae6fa00af0
commit
a6a2ef27a3
1 changed files with 65 additions and 0 deletions
|
@ -16,6 +16,7 @@
|
|||
;;; Copyright © 2017 Arun Isaac <arunisaac@systemreboot.net>
|
||||
;;; Copyright © 2018 Tobias Geerinckx-Rice <me@tobias.gr>
|
||||
;;; Copyright © 2018 Kei Kebreau <kkebreau@posteo.net>
|
||||
;;; Copyright © 2018 Oleg Pykhalov <go.wigust@gmail.com>
|
||||
;;;
|
||||
;;; This file is part of GNU Guix.
|
||||
;;;
|
||||
|
@ -6119,3 +6120,67 @@ and embedded platforms.")
|
|||
(append configure-flags (list "--with-qt4-immodule"
|
||||
"--with-qt4")))))
|
||||
(synopsis "Multilingual input method framework (Qt support)")))
|
||||
|
||||
(define-public keynav
|
||||
(package
|
||||
(name "keynav")
|
||||
(version "0.20110708.0")
|
||||
(source
|
||||
(origin
|
||||
(method url-fetch)
|
||||
(uri (string-append
|
||||
"http://http.debian.net/debian/pool/main/k/keynav/keynav_"
|
||||
version ".orig.tar.gz"))
|
||||
(file-name (string-append name "-" version ".tar.gz"))
|
||||
(sha256
|
||||
(base32
|
||||
"1gizjhji3yspxxxvb90js3z1bv18rbf5phxg8rciixpj3cccff8z"))))
|
||||
(build-system gnu-build-system)
|
||||
(inputs
|
||||
`(("cairo" ,cairo)
|
||||
("glib" ,glib)
|
||||
("libx11" ,libx11)
|
||||
("libxext" ,libxext)
|
||||
("libxinerama" ,libxinerama)
|
||||
("libxtst" ,libxtst)
|
||||
("xdotool" ,xdotool)))
|
||||
(native-inputs
|
||||
`(("pkg-config" ,pkg-config)))
|
||||
(arguments
|
||||
`(#:tests? #f ;No tests.
|
||||
#:phases
|
||||
(modify-phases %standard-phases
|
||||
(add-after 'unpack 'setenv
|
||||
(lambda _
|
||||
(setenv "CC" (which "gcc"))
|
||||
#t))
|
||||
(add-after 'unpack 'patch-keynav
|
||||
(lambda _
|
||||
(substitute* "keynav.c"
|
||||
(("xdo_symbol_map") "xdo_get_symbol_map")
|
||||
(("xdo_window_setclass") "xdo_set_window_class")
|
||||
(("xdo_window_get_active") "xdo_get_window_at_mouse")
|
||||
(("xdo_click") "xdo_click_window")
|
||||
(("xdo_mouseup") "xdo_mouse_up")
|
||||
(("xdo_mousedown") "xdo_mouse_down")
|
||||
(("xdo_mousemove") "xdo_move_mouse")
|
||||
(("xdo_mousemove_relative") "xdo_move_mouse_relative")
|
||||
(("xdo_mouselocation") "xdo_get_mouse_location")
|
||||
(("xdo_mouse_wait_for_move_to") "xdo_wait_for_mouse_move_to")
|
||||
(("xdo_keysequence_up") "xdo_send_keysequence_window_up")
|
||||
(("xdo_keysequence_down") "xdo_send_keysequence_window_down"))
|
||||
#t))
|
||||
(delete 'configure)
|
||||
(replace 'install
|
||||
(lambda* (#:key outputs #:allow-other-keys)
|
||||
(let ((out (assoc-ref outputs "out")))
|
||||
(install-file "keynav" (string-append out "/bin"))
|
||||
(install-file "keynavrc" (string-append out "/etc")))
|
||||
#t)))))
|
||||
(home-page "https://www.semicomplete.com/projects/keynav/")
|
||||
(synopsis "Keyboard-driven mouse cursor mover")
|
||||
(description
|
||||
"Keynav makes your keyboard a fast mouse cursor mover. You can move the
|
||||
cursor to any point on the screen with a few key strokes. It also simulates
|
||||
mouse click. You can do everything mouse can do with a keyboard.")
|
||||
(license license:bsd-3)))
|
||||
|
|
Loading…
Reference in a new issue