Changeset 2389


Ignorieren:
Zeitstempel:
11.05.2011 21:50:33 (vor 7 Jahren)
Autor:
dennis
Nachricht:

Fix: besser kommentierte Version von Pascal (via Mailingliste).

Datei:
1 bearbeitet

Legende:

Unverändert
Hinzugefügt
Entfernt
  • linux/bin/wiemitneo

    r2312 r2389  
    1 #!/bin/bash 
     1#!/bin/sh 
    22#  
    33# Dieses Skript unterstützt die Benutzung der Neo-Tastatur 
    4 # Als Argument kann ein einzelnes Zeichen oder eine Beschreibung eines  
    5 # Zeichens übergeben werden 
     4# Als Argument kann ein einzelnes Zeichen oder eine Beschreibung eines Zeichens übergeben werden 
    65# 
    76# Dieses Skript stammt von: 
     
    1110#      <diskussion at neo-layout dot org> 
    1211 
    13 COMPOSE=/usr/share/X11/locale/en_US.UTF-8/Compose 
     12COMPOSE=$HOME/.XCompose 
    1413REFERENZ=$HOME/neo/neo20.txt 
    1514 
     
    2322 
    2423 
     24# als TASTATURTEL wird immer 1 für die Haupttastatur und 2 für das Keypad verwendet 
    2525 
    26 bild () {       # bild TASTATURTEIL , erzeugt das Bild des Tastaturteils wie die Skripte neo und num 
     26bild () {       # Aufruf: bild TASTATURTEIL 
     27# erzeugt das Bild des Tastaturteils wie die Skripte neo und num 
    2728        grep -m 1 -A 15 ${RAND[$1]} $REFERENZ | cut -c ${VON[$1]}-${BIS[$1]} 
    2829} 
    2930 
    30 teste () {      # teste TASTATURTEIL ZEILE SPALTE 
     31position () {   # Aufruf: position TASTATURTEIL ZEILE SPALTE 
     32# gibt das Zeichen aus, das an der durch $TASTATURTEIL, $ZEILE und $SPALTE spezifizierten stelle liegt 
    3133        bild $1 | head -$2 | tail -1 | cut -c $3 
    3234} 
    3335 
    34 schau_auf_tastatur () { 
    35         zeichen=$1 
    36         j=0 
    37         for tastatur in 1 2 
     36such_auf_tastatur () { # Aufruf: such_auf_tastatur ZEICHEN 
     37# sucht, ob das Zeichen $ZEICHEN irgendwo auf der Tastatur (Haupttastatur oder Keypad) zu finden ist 
     38        zeichen=$1                                                      # zu suchendes Zeichen 
     39        j=0                                                             # j=3, sobald das Zeichen gefunden wurde 
     40        for tastatur in 1 2                                             # durchsuche beide Tastaturteile 
    3841        do 
    3942 
     
    4952                                j=j+1 
    5053                                z=`bild $tastatur | grep -n [│\ ]$zeichen[│\ ] | head -$i | tail -1 | cut -f1 -d:` 
     54#                               Zeile, an der das gesuchte Zeichen gefunden worden ist 
    5155                                s=`bild $tastatur | grep [│\ ]$zeichen[│\ ] | head -$i | tail -1 | cut -f1 -d $zeichen | wc -m` 
     56#                               Spalte, an der das gesuchte Zeichen gefunden worden ist 
    5257 
    53                                 e=0 
    54                                 test=`teste $tastatur $z $s` 
     58                                e=0                                     # e gibt am Ende die Ebene an, in der das gesuchte Zeichen liegt 
     59                                test=`position $tastatur $z $s` 
    5560                                while [ ! "$test" = "─" ] && [ ! "$test" = "┬" ] 
     61#                               suche in dem Kästchen bis der untere Rand gefunden ist 
     62#                               Beispiel:       ┬────┴┬ 
     63#                                               │N 4 ℕ│ 
     64#                                               │n ( ν│ 
     65#                                               ┴──┬──┴ 
    5666                                do 
    57 #                               finde Zeile z von $ursprung (=Tastenname), berechne die Ebene $e von $zeichen 
     67#                               finde Zeile z von $ursprung (=Tastenname, im Beispiel also ›n‹), berechne die Ebene $e von $zeichen 
    5868                                        z=z+1 
    5969                                        e=e+1 
    6070                                        ursprung=$test 
    61                                         test=`teste $tastatur $z $s` 
     71                                        test=`position $tastatur $z $s` 
    6272                                done 
    6373                                z=z-1 
    6474 
    65                                 ehilfe="1" 
     75                                ehilfe="1"                              # ehilfe="1" - es gibt kein Leerzeichen neben dem Rand 
    6676                                test=$ursprung 
    6777                                while [ ! "$test" = "│" ] 
     78#                               suche in dem Kästchen bis der linke Rand gefunden ist 
    6879                                do 
    6980                                        if [ "$test" = " " ] 
    7081                                        then 
    71                                                 ehilfe="0" 
     82                                                ehilfe="0"              # ehilfe="0" - es gibt kein Leerzeichen - neben dem Rand? 
    7283                                        elif [ "$ehilfe" = "0" ] 
    7384                                        then 
     
    7788                                 
    7889                                        s=s-1 
    79                                         test=`teste $tastatur $z $s` 
     90                                        test=`position $tastatur $z $s` 
    8091                                done     
    8192                                ursprung=`echo $ursprung ${ORT[$tastatur]}` 
     
    114125 
    115126 
    116 schau_auf_tastatur $zeichen 
     127such_auf_tastatur $zeichen 
    117128 
    118129 
Hinweis: Hilfe zur Verwendung der Changeset-Ansicht finden Sie unter TracChangeset.