summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorOliver Kiddle <okiddle@yahoo.co.uk>2020-06-24 00:10:15 +0200
committerOliver Kiddle <okiddle@yahoo.co.uk>2020-06-26 00:34:36 +0200
commit9ec69989bba6d4590c4c66a5d497d4a16186eae4 (patch)
tree120519da7316397a60d9ecf16e5ef3fb9bafd15a
parent46075: drelo: prefer ip on linux for finding network interfaces (diff)
downloadzsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.tar
zsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.tar.gz
zsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.tar.bz2
zsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.tar.lz
zsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.tar.xz
zsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.tar.zst
zsh-9ec69989bba6d4590c4c66a5d497d4a16186eae4.zip
46105: new xinput completion
-rw-r--r--Completion/X/Command/_xinput140
1 files changed, 140 insertions, 0 deletions
diff --git a/Completion/X/Command/_xinput b/Completion/X/Command/_xinput
new file mode 100644
index 000000000..00a976d5d
--- /dev/null
+++ b/Completion/X/Command/_xinput
@@ -0,0 +1,140 @@
+#compdef xinput
+
+local curcontext="$curcontext" xinput=${words[1]} desc subcmd out ret=1
+local match mbegin mend
+local -a state state_descr line args cmds ids names disp expl
+local -A opt_args
+
+cmds=(
+ 'get-feedbacks:display device feedbacks'
+ 'set-ptr-feedback:change pointer acceleration (or feedback) parameters '
+ 'set-integer-feedback:change value of an integer device feedback'
+ 'get-button-map:get the button mapping of a device'
+ 'set-button-map:change the button mapping of a device'
+ set-pointer
+ "set-mode:set a device's mode"
+ 'list:list input devices or device features'
+ "query-state:query a device's state"
+ 'test:perpetual display of extended events from a device'
+ 'create-master:create a new pair of master devices on an XI2-enabled server'
+ 'remove-master:remove a master and its paired master device'
+ 'reattach:reattach a slave to a master'
+ 'float:remove a slave from its current master device'
+ 'set-cp:set the ClientPointer for the client owning window to master'
+ 'test-xi2:perpetual display of XI2 events'
+ 'map-to-output:restrict movements of the absolute device to an RandR crtc'
+ 'list-props:list properties that can be set for a device'
+ set-int-prop set-float-prop set-atom-prop
+ 'watch-props:perpetual display of property changes'
+ 'delete-prop:delete a property from a device'
+ 'set-prop:set a property to a given value'
+ 'disable:disable a device'
+ 'enable:enable a device'
+ 'help:display usage information'
+ 'version:display version information for program and server'
+)
+
+if (( CURRENT == 2 )); then
+ if [[ -prefix - ]]; then
+ cmds=( --$^cmds )
+ desc=option
+ else
+ desc=command
+ fi
+ _describe -t ${desc}s $desc cmds -M 'r:|-=* r:|=*'
+ return
+fi
+
+subcmd=${words[2]#--}
+curcontext="${curcontext%:*}-$subcmd:"
+
+args=( '1:device:->devices' )
+case $subcmd in
+ (set|delete)-*prop) args+=( '2:property:->properties' ) ;|
+ set-*prop) args+=( '*:value' ) ;|
+ set-ptr-feedback) args+=( '2:threshold' '3:num' '4:denom' ) ;;
+ set-integer-feedback) args+=( '2:feedback id' '3:value' ) ;;
+ set-button-map)
+ args+=( '*:::button mapping:compadd -F words -o numeric {1..12}' )
+ ;;
+ set-pointer) args+=( '2:x index' '3:y index' ) ;;
+ set-mode) args+=( '2:mode:(ABSOLUTE RELATIVE)' ) ;;
+ list) args+=( '(-)--short' '(-)--long' '(-)--name-only' '(-)--id-only' ) ;;
+ test) args+=( '-proximity' ) ;;
+ create-master)
+ args=(
+ '1:prefix'
+ '2:send core events [1]:((0\:false 1\:true))'
+ '3:enable [1]:((0\:false 1\:true))'
+ )
+ ;;
+ remove-master)
+ args=(
+ '1:master:->devices'
+ '2:slave setting:(Floating AttachToMaster)'
+ '3:pointer master:->devices'
+ '4:keyboard master:->devices'
+ )
+ ;;
+ reattach) args=( '1:slave:->devices' '2:master:->devices' ) ;;