You can not select more than 25 topics
			Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
		
		
		
		
		
			
		
			
				
					
					
						
							96 lines
						
					
					
						
							3.1 KiB
						
					
					
				
			
		
		
	
	
							96 lines
						
					
					
						
							3.1 KiB
						
					
					
				| # --- 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 | |
| } | |
| 
 | |
| 
 |