diff options
Diffstat (limited to 'linux')
| -rwxr-xr-x | linux/bin/wiemitneo | 47 | 
1 files changed, 29 insertions, 18 deletions
diff --git a/linux/bin/wiemitneo b/linux/bin/wiemitneo index 403cd0e..c6cdec3 100755 --- a/linux/bin/wiemitneo +++ b/linux/bin/wiemitneo @@ -1,8 +1,7 @@ -#!/bin/bash +#!/bin/sh  #   # Dieses Skript unterstützt die Benutzung der Neo-Tastatur -# Als Argument kann ein einzelnes Zeichen oder eine Beschreibung eines  -# Zeichens übergeben werden +# Als Argument kann ein einzelnes Zeichen oder eine Beschreibung eines Zeichens übergeben werden  #  # Dieses Skript stammt von:  #      Pascal Hauck <pascal dot hauck at web dot de> @@ -10,7 +9,7 @@  # Kontakt zu den Entwicklern der Neo-Tastatur:  #      <diskussion at neo-layout dot org> -COMPOSE=/usr/share/X11/locale/en_US.UTF-8/Compose +COMPOSE=$HOME/.XCompose  REFERENZ=$HOME/neo/neo20.txt  VON[1]=7; BIS[1]=82; RAND[1]="┌─────┬──";   ORT[1]=""			# HAUPTTASTATUR=1 @@ -22,19 +21,23 @@ zeichen=$1								# suche nach diesem Zeichen  typeset -i z s e j							# z=zeile, s=spalte, e=Ebene +# als TASTATURTEL wird immer 1 für die Haupttastatur und 2 für das Keypad verwendet -bild () {	# bild TASTATURTEIL , erzeugt das Bild des Tastaturteils wie die Skripte neo und num +bild () {	# Aufruf: bild TASTATURTEIL +# erzeugt das Bild des Tastaturteils wie die Skripte neo und num  	grep -m 1 -A 15 ${RAND[$1]} $REFERENZ | cut -c ${VON[$1]}-${BIS[$1]}  } -teste () {	# teste TASTATURTEIL ZEILE SPALTE +position () {	# Aufruf: position TASTATURTEIL ZEILE SPALTE +# gibt das Zeichen aus, das an der durch $TASTATURTEIL, $ZEILE und $SPALTE spezifizierten stelle liegt  	bild $1 | head -$2 | tail -1 | cut -c $3  } -schau_auf_tastatur () { -	zeichen=$1 -	j=0 -	for tastatur in 1 2 +such_auf_tastatur () { # Aufruf: such_auf_tastatur ZEICHEN +# sucht, ob das Zeichen $ZEICHEN irgendwo auf der Tastatur (Haupttastatur oder Keypad) zu finden ist +	zeichen=$1							# zu suchendes Zeichen +	j=0								# j=3, sobald das Zeichen gefunden wurde +	for tastatur in 1 2						# durchsuche beide Tastaturteile  	do  		anzahl=`bild $tastatur | grep -n [│\ ]$zeichen[│\ ] | wc -l`	# wie häufig ist $zeichen auf der Tastatur? @@ -48,27 +51,35 @@ schau_auf_tastatur () {  			do  				j=j+1  				z=`bild $tastatur | grep -n [│\ ]$zeichen[│\ ] | head -$i | tail -1 | cut -f1 -d:` +#				Zeile, an der das gesuchte Zeichen gefunden worden ist  				s=`bild $tastatur | grep [│\ ]$zeichen[│\ ] | head -$i | tail -1 | cut -f1 -d $zeichen | wc -m` +#				Spalte, an der das gesuchte Zeichen gefunden worden ist -				e=0 -				test=`teste $tastatur $z $s` +				e=0					# e gibt am Ende die Ebene an, in der das gesuchte Zeichen liegt +				test=`position $tastatur $z $s`  				while [ ! "$test" = "─" ] && [ ! "$test" = "┬" ] +#				suche in dem Kästchen bis der untere Rand gefunden ist +#				Beispiel:	┬────┴┬ +#						│N 4 ℕ│ +#						│n ( ν│ +#						┴──┬──┴  				do -#				finde Zeile z von $ursprung (=Tastenname), berechne die Ebene $e von $zeichen +#				finde Zeile z von $ursprung (=Tastenname, im Beispiel also ›n‹), berechne die Ebene $e von $zeichen  					z=z+1  					e=e+1  					ursprung=$test -					test=`teste $tastatur $z $s` +					test=`position $tastatur $z $s`  				done  				z=z-1 -				ehilfe="1" +				ehilfe="1"				# ehilfe="1" - es gibt kein Leerzeichen neben dem Rand  				test=$ursprung  				while [ ! "$test" = "│" ] +#				suche in dem Kästchen bis der linke Rand gefunden ist  				do  					if [ "$test" = " " ]  					then -						ehilfe="0" +						ehilfe="0"		# ehilfe="0" - es gibt kein Leerzeichen - neben dem Rand?  					elif [ "$ehilfe" = "0" ]  					then  						e=e+2; ehilfe=1 @@ -76,7 +87,7 @@ schau_auf_tastatur () {  					fi  					s=s-1 -					test=`teste $tastatur $z $s` +					test=`position $tastatur $z $s`  				done	  				ursprung=`echo $ursprung ${ORT[$tastatur]}` @@ -113,7 +124,7 @@ schau_auf_tastatur () { -schau_auf_tastatur $zeichen +such_auf_tastatur $zeichen  | 
