|
|
|
# --- SDE-COPYRIGHT-NOTE-BEGIN ---
|
|
|
|
# This copyright note is auto-generated by ./scripts/Create-CopyPatch.
|
|
|
|
#
|
|
|
|
# Filename: package/.../gpm/stone_mod_gpm.sh
|
|
|
|
# Copyright (C) 2008 The OpenSDE Project
|
|
|
|
# Copyright (C) 2004 - 2006 The T2 SDE Project
|
|
|
|
# Copyright (C) 1998 - 2003 Clifford Wolf
|
|
|
|
#
|
|
|
|
# More information can be found in the files COPYING and README.
|
|
|
|
#
|
|
|
|
# This program is free software; you can redistribute it and/or modify
|
|
|
|
# it under the terms of the GNU General Public License as published by
|
|
|
|
# the Free Software Foundation; version 2 of the License. A copy of the
|
|
|
|
# GNU General Public License can be found in the file COPYING.
|
|
|
|
# --- SDE-COPYRIGHT-NOTE-END ---
|
|
|
|
#
|
|
|
|
# [MAIN] 40 gpm General Purpose Mouse (GPM) Daemon
|
|
|
|
|
|
|
|
write_config() {
|
|
|
|
cat << EOT > /etc/conf/gpm
|
|
|
|
GPM_MOUSE="$GPM_MOUSE"
|
|
|
|
GPM_ARGS="`echo -t $GPM_TYPE -$GPM_BUTTONS $GPM_ARGS`"
|
|
|
|
EOT
|
|
|
|
}
|
|
|
|
|
|
|
|
set_port() {
|
|
|
|
gui_menu gpm_port \
|
|
|
|
"Select the mouse port. (Current: $GPM_MOUSE)" \
|
|
|
|
'All input layer events . /dev/input/mice' 'GPM_MOUSE=/dev/input/mice' \
|
|
|
|
'Input layer mouse 0 .... /dev/input/mouse0' 'GPM_MOUSE=/dev/input/mouse0' \
|
|
|
|
'Input layer mouse 1 .... /dev/input/mouse1' 'GPM_MOUSE=/dev/input/mouse1' \
|
|
|
|
'TTS 0 (aka COM 1) ...... /dev/tts/0' 'GPM_MOUSE=/dev/tts/0' \
|
|
|
|
'TTS 1 (aka COM 2) ...... /dev/tts/1' 'GPM_MOUSE=/dev/tts/1' \
|
|
|
|
'TTS 2 (aka COM 3) ...... /dev/tts/2' 'GPM_MOUSE=/dev/tts/2' \
|
|
|
|
'TTS 3 (aka COM 4) ...... /dev/tts/3' 'GPM_MOUSE=/dev/tts/3' \
|
|
|
|
'PSAUX (aka PS/2) ....... /dev/misc/psaux' 'GPM_MOUSE=/dev/misc/psaux' \
|
|
|
|
'SUNMOUSE (SBUS) ........ /dev/misc/sunmouse' 'GPM_MOUSE=/dev/misc/sunmouse'
|
|
|
|
write_config
|
|
|
|
}
|
|
|
|
|
|
|
|
set_type() {
|
|
|
|
cmd="gui_menu gpm_type 'Select the mouse type."
|
|
|
|
cmd="$cmd (Current: $GPM_TYPE)'" ; x="'"
|
|
|
|
while read type desc ; do
|
|
|
|
cmd="$cmd '$type - ${desc//$x/$x\\$x$x}' 'GPM_TYPE=$type'"
|
|
|
|
done < <( gpm -m $GPM_MOUSE -t help | grep '^[ \*] [^ ]' | cut -c3- )
|
|
|
|
eval "$cmd" ; write_config
|
|
|
|
}
|
|
|
|
|
|
|
|
set_buttons() {
|
|
|
|
gui_menu gpm_buttons \
|
|
|
|
"Select the number of mouse buttons. (Current: $GPM_BUTTONS)" \
|
|
|
|
'This is a mouse with 2 buttons' 'GPM_BUTTONS=2' \
|
|
|
|
'This is a mouse with 3 buttons' 'GPM_BUTTONS=3'
|
|
|
|
write_config
|
|
|
|
}
|
|
|
|
|
|
|
|
set_args() {
|
|
|
|
gui_input "Extra options for the gpm daemon (Current: $GPM_ARGS)" \
|
|
|
|
"$GPM_ARGS" "GPM_ARGS"
|
|
|
|
write_config
|
|
|
|
}
|
|
|
|
|
|
|
|
main() {
|
|
|
|
while
|
|
|
|
GPM_MOUSE="/dev/misc/psaux" ; GPM_ARGS="-t ms -2"
|
|
|
|
[ -f /etc/conf/gpm ] && . /etc/conf/gpm
|
|
|
|
|
|
|
|
set -- $GPM_ARGS ; GPM_ARGS=
|
|
|
|
while [ "$1" ] ; do
|
|
|
|
if [ "$1" = "-t" ] ; then
|
|
|
|
GPM_TYPE="$2" ; shift
|
|
|
|
elif [ -z "${1#-[23]}" ] ; then
|
|
|
|
GPM_BUTTONS="${1#-}"
|
|
|
|
else
|
|
|
|
GPM_ARGS="$GPM_ARGS $1"
|
|
|
|
fi
|
|
|
|
shift
|
|
|
|
done
|
|
|
|
|
|
|
|
gui_menu gpm 'General Purpose Mouse (GPM) Daemon Configuration.
|
|
|
|
Select an item to change the value:' \
|
|
|
|
"Mouse Port ........ $GPM_MOUSE" 'set_port' \
|
|
|
|
"Mouse Type ........ $GPM_TYPE" 'set_type' \
|
|
|
|
"Mouse Buttons ..... $GPM_BUTTONS" 'set_buttons' \
|
|
|
|
"Extra Options ..... $GPM_ARGS" 'set_args' \
|
|
|
|
'' '' \
|
|
|
|
'Edit the /etc/conf/gpm file' \
|
|
|
|
"gui_edit 'GPM Config File' /etc/conf/gpm" \
|
|
|
|
'Configure runlevels for GPM service' \
|
|
|
|
'$STONE runlevel edit_srv gpm' \
|
|
|
|
'(Re-)Start gpm init script' \
|
|
|
|
'$STONE runlevel restart gpm'
|
|
|
|
do : ; done
|
|
|
|
}
|
|
|
|
|