Skripte, um die keymap für die Console automatisch erstellen zu lassen

This commit is contained in:
pascal 2008-08-21 10:46:46 +00:00
parent 218721eca0
commit 3a5ff9d420
9 changed files with 1733 additions and 0 deletions

13
linux/console/bin/README Normal file
View File

@ -0,0 +1,13 @@
In console.ersetze.vorprogramm finden sich die absolut notwendigen Ersetzungen.
Unter der console (!!!!) werden mit »dumpkeys --long-info > dump« werden die dem System bekannten keysyms der console (die sind anders als unter x!!!!) bestimmt.
Mit »mach_kurzreferenz.vorpgrogramm« werden weitere notwendige Ersetzungen bestimmt.
Zusammengefasst:
cat console.ersetze.vorprogramm > console.ersetze
dumpkeys --long-info > dump
mach_kurzreferenz.vorpgrogramm >> console.ersetze
Nun kann mit »mach_kurzreferenz > kurzreferenz« eine Kurzreferenz aus der xmodmap erstellt werden.
Aus dieser Kurzreferenz kann mit »mach_console > neo.map« die Datei erstellt werden, die mit »loadkeys neo.map« (als root!!!) gelden werden kann.

View File

@ -0,0 +1,116 @@
s/ 1 / one /g
s/ 2 / two /g
s/ 3 / three /g
s/ 4 / four /g
s/ 5 / five /g
s/ 6 / six /g
s/ 7 / seven /g
s/ 8 / eight /g
s/ 9 / nine /g
s/ 0 / zero /g
s/ 1 / one /g
s/ 2 / two /g
s/ 3 / three /g
s/ 4 / four /g
s/ 5 / five /g
s/ 6 / six /g
s/ 7 / seven /g
s/ 8 / eight /g
s/ 9 / nine /g
s/ 0 / zero /g
s/NoSymbol/VoidSymbol/g
s/U1/U+1/g
s/U2/U+2/g
s/U3/U+3/g
s/U4/U+4/g
s/U5/U+5/g
s/U6/U+6/g
s/U7/U+7/g
s/U8/U+8/g
s/U9/U+9/g
s/U0/U+0/g
s/dead_stroke/VoidSymbol/g
s/dead_belowdot/VoidSymbol/g
s/dead_belowdot/VoidSymbol/g
s/enfilledcircbullet/U+2022/g
s/numerosign/U+2116/g
s/logicalor/U+2228/g
s/logicaland/U+2227/g
s/femalesymbol/U+2640/g
s/EuroSign/U+20ac/g
s/malesymbol/U+2642/g
s/Greek_kappa/U+03ba/g
s/notelementof/VoidSymbol/g
s/doublelowquotemark/U+201e/g
s/singlelowquotemark/U+201a/g
s/leftdoublequotemark/U+201c/g
s/leftsinglequotemark/U+2018/g
s/rightdoublequotemark/U+201d/g
s/rightsinglequotemark/U+2019/g
s/emptyset/VoidSymbol/g
s/endash/U+2013/g
s/emdash/U+2014/g
s/dead_abovedot/U+0307/g
s/dead_abovering/U+030a/g
s/ellipsis/U+2026/g
s/Greek_xi/U+03be/g
s/Greek_lambda/U+03bb/g
s/Greek_chi/U+03c7/g
s/Greek_omega/U+03c9/g
s/radical/U+221a/g
s/Greek_psi/U+03c8/g
s/Greek_gamma/U+03b3/g
s/Greek_phi/U+03c6/g
s/Greek_finalsmallsigma/U+03c2/g
s/dead_macron/U+0304/g
s/Greek_iota/U+03b9/g
s/integral/U+222b/g
s/Greek_alpha/U+03b1/g
s/Greek_epsilon/U+03b5/g
s/Greek_omicron/U+03bf/g
s/elementof/VoidSymbol/g
s/Greek_sigma/U+03c3/g
s/Greek_nu/U+03bd/g
s/Greek_tau/U+03c4/g
s/partialderivative/U+2202/g
s/Greek_delta/U+03b4/g
s/Greek_upsilon/U+03c5/g
s/nabla/U+2207/g
s/variation/U+221d/g
s/Greek_eta/U+03b7/g
s/Greek_pi/U+03c0/g
s/Greek_zeta/U+03b6/g
s/Undo/VoidSymbol/g
s/Redo/VoidSymbol/g
s/Greek_beta/U+03b2/g
s/Greek_mu/U+03bc/g
s/ifonlyif/U+21d4/g
s/Greek_rho/U+03c1/g
s/Greek_theta/U+03b8/g
s/identical/U+2261/g
s/notequal/U+2260/g
s/Pointer_EnableKeys/VoidSymbol/g
s/KP_Home/VoidSymbol/g
s/dagger/U+2020/g
s/KP_Up/VoidSymbol/g
s/uparrow/U+2191/g
s/intersection/U+2229/g
s/KP_Prior/VoidSymbol/g
s/containsas/VoidSymbol/g
s/KP_Left/VoidSymbol/g
s/leftarrow/U+2190/g
s/includedin/U+2282/g
s/KP_Begin/VoidSymbol/g
s/infinity/U+221e/g
s/EuroSign/U+20ac/g
s/KP_Right/VoidSymbol/g
s/rightarrow/U+2192/g
s/includes/U+2283/g
s/KP_End/VoidSymbol/g
s/KP_Down/VoidSymbol/g
s/downarrow/U+2193/g
s/union/U+222a/g
s/KP_Next/VoidSymbol/g
s/KP_Insert/VoidSymbol/g
s/KP_Delete/VoidSymbol/g
s/KP_Separator/U+002c/g

View File

@ -0,0 +1,31 @@
s/ 1 / one /g
s/ 2 / two /g
s/ 3 / three /g
s/ 4 / four /g
s/ 5 / five /g
s/ 6 / six /g
s/ 7 / seven /g
s/ 8 / eight /g
s/ 9 / nine /g
s/ 0 / zero /g
s/ 1 / one /g
s/ 2 / two /g
s/ 3 / three /g
s/ 4 / four /g
s/ 5 / five /g
s/ 6 / six /g
s/ 7 / seven /g
s/ 8 / eight /g
s/ 9 / nine /g
s/ 0 / zero /g
s/NoSymbol/VoidSymbol/g
s/U1/U+1/g
s/U2/U+2/g
s/U3/U+3/g
s/U4/U+4/g
s/U5/U+5/g
s/U6/U+6/g
s/U7/U+7/g
s/U8/U+8/g
s/U9/U+9/g
s/U0/U+0/g

File diff suppressed because it is too large Load Diff

View File

@ -0,0 +1,175 @@
! neo.map - german NEO keyboard layout
!
! Diese Datei ist experimentell!
! Sollten Fehler auftreten oder sich verschiedene Linux-Distributionen
! anders verhalten als erwartet, sollte dies auf der Mailingliste
! der NEO-Tastaturbelegung gemeldet werden.
!
! Diese Keymap wird <20>ber einige Skripte automatisch aus der neo_de.xmodmap
! erzeugt.
!
keymaps 0-3,4-6,8-10,12,16-18
charset "ISO-8859-1"
include "linux-with-two-alt-keys.inc"
strings as usual
compose as usual for "iso-8859-1"
! --------------------------------------------------------------------------
! Modifier definitions
! --------------------------------------------------------------------------
keycode 42 = Shift
keycode 54 = Shift
keycode 58 = AltGr
keycode 43 = AltGr
keycode 86 = ShiftL
keycode 100 = ShiftL
keycode 1 = Escape Escape
alt keycode 1 = Meta_Escape
shift altgr keycode 1 = Meta_Escape
! --------------------------------------------------------------------------
! Keys with control function (has to be edited manally!!!!)
! --------------------------------------------------------------------------
control keycode 33 = Control_e
shift control keycode 33 = Control_e
altgr control keycode 33 = Control_e
alt keycode 33 = Meta_e
shift alt keycode 33 = Meta_E
altgr alt keycode 33 = Meta_e
control alt keycode 33 = Meta_Control_e
control keycode 19 = Control_c
shift control keycode 19 = Control_c
altgr control keycode 19 = Control_c
alt keycode 19 = Meta_c
shift alt keycode 19 = Meta_C
altgr alt keycode 19 = Meta_c
control alt keycode 19 = Meta_Control_c
control keycode 50 = Control_m
shift control keycode 50 = Control_m
altgr control keycode 50 = Control_m
alt keycode 50 = Meta_m
shift alt keycode 50 = Meta_M
altgr alt keycode 50 = Meta_m
control alt keycode 50 = Meta_Control_m
! --------------------------------------------------------------------------
! function keys
! --------------------------------------------------------------------------
! ----Backspace-------------------------------------------------------------
keycode 42 = Delete Delete
alt keycode 14 = Meta_Delete
shift alt keycode 14 = Meta_Delete
! ----Return Enter----------------------------------------------------------
keycode 28 = Return
alt keycode 28 = Meta_Control_m
keycode 96 = KP_Enter
altgr keycode 96 = Hex_F
! ----Tab-------------------------------------------------------------------
keycode 15 = Tab Meta_Tab
alt keycode 15 = Meta_Tab
altgr keycode 15 = Compose
! ----Control Alt-----------------------------------------------------------
keycode 29 = Control
keycode 97 = Control
keycode 56 = Alt
! ----Prt SclLk Pause-------------------------------------------------------
keycode 99 =
control keycode 99 = Control_backslash
alt keycode 99 = Control_backslash
control alt keycode 99 = Meta_Control_backslash
keycode 70 = Scroll_Lock Show_Memory Show_Registers Show_State
alt keycode 70 = Scroll_Lock
keycode 119 = Pause
! ----Home block------------------------------------------------------------
keycode 102 = Find
keycode 104 = Prior
shift keycode 104 = Scroll_Backward
keycode 107 = Select
keycode 109 = Next
shift keycode 109 = Scroll_Forward
keycode 111 = Remove
altgr control keycode 111 = Boot
control alt keycode 111 = Boot
keycode 110 = Insert
! ----Navigation block------------------------------------------------------
keycode 103 = Up
alt keycode 103 = KeyboardSignal
keycode 105 = Left
alt keycode 105 = Decr_Console
keycode 106 = Right
alt keycode 106 = Incr_Console
keycode 108 = Down
! ----Win keys--------------------------------------------------------------
keycode 125 =
keycode 126 = Compose
! ----menue key-------------------------------------------------------------
keycode 127 = F100
! ----F-keys----------------------------------------------------------------
keycode 59 = F1 F13 Console_13 F25
alt keycode 59 = Console_1
control alt keycode 59 = Console_1
keycode 60 = F2 F14 Console_14 F26
alt keycode 60 = Console_2
control alt keycode 60 = Console_2
keycode 61 = F3 F15 Console_15 F27
alt keycode 61 = Console_3
control alt keycode 61 = Console_3
keycode 62 = F4 F16 Console_16 F28
alt keycode 62 = Console_4
control alt keycode 62 = Console_4
keycode 63 = F5 F17 Console_17 F29
alt keycode 63 = Console_5
control alt keycode 63 = Console_5
keycode 64 = F6 F18 Console_18 F30
alt keycode 64 = Console_6
control alt keycode 64 = Console_6
keycode 65 = F7 F19 Console_19 F31
alt keycode 65 = Console_7
control alt keycode 65 = Console_7
keycode 66 = F8 F20 Console_20 F32
alt keycode 66 = Console_8
control alt keycode 66 = Console_8
keycode 67 = F9 F21 Console_21 F33
alt keycode 67 = Console_9
control alt keycode 67 = Console_9
keycode 68 = F10 F22 Console_22 F34
alt keycode 68 = Console_10
control alt keycode 68 = Console_10
keycode 87 = F11 F23 Console_23 F35
alt keycode 87 = Console_11
control alt keycode 87 = Console_11
keycode 88 = F12 F24 Console_24 F36
alt keycode 88 = Console_12
control alt keycode 88 = Console_12
! ----unknown keys from defkeymap.map---------------------------------------
keycode 101 = Break
keycode 84 = Last_Console
keycode 112 = Macro
altgr control keycode 112 = VoidSymbol
shift alt keycode 112 = VoidSymbol
altgr alt keycode 112 = VoidSymbol
keycode 113 = F13
altgr control keycode 113 = VoidSymbol
shift alt keycode 113 = VoidSymbol
altgr alt keycode 113 = VoidSymbol
keycode 114 = F14
altgr control keycode 114 = VoidSymbol
shift alt keycode 114 = VoidSymbol
altgr alt keycode 114 = VoidSymbol
keycode 115 = Help
altgr control keycode 115 = VoidSymbol
shift alt keycode 115 = VoidSymbol
altgr alt keycode 115 = VoidSymbol
keycode 116 = Do
altgr control keycode 116 = VoidSymbol
shift alt keycode 116 = VoidSymbol
altgr alt keycode 116 = VoidSymbol
keycode 117 = F17
altgr control keycode 117 = VoidSymbol
shift alt keycode 117 = VoidSymbol
altgr alt keycode 117 = VoidSymbol
keycode 118 = KP_MinPlus
altgr control keycode 118 = VoidSymbol
shift alt keycode 118 = VoidSymbol
altgr alt keycode 118 = VoidSymbol

View File

@ -0,0 +1,193 @@
string F1 = "\033[[A"
string F2 = "\033[[B"
string F3 = "\033[[C"
string F4 = "\033[[D"
string F5 = "\033[[E"
string F6 = "\033[17~"
string F7 = "\033[18~"
string F8 = "\033[19~"
string F9 = "\033[20~"
string F10 = "\033[21~"
string F11 = "\033[23~"
string F12 = "\033[24~"
string F13 = "\033[25~"
string F14 = "\033[26~"
string F15 = "\033[28~"
string F16 = "\033[29~"
string F17 = "\033[31~"
string F18 = "\033[32~"
string F19 = "\033[33~"
string F20 = "\033[34~"
string Find = "\033[1~"
string Insert = "\033[2~"
string Remove = "\033[3~"
string Select = "\033[4~"
string Prior = "\033[5~"
string Next = "\033[6~"
string Macro = "\033[M"
string Pause = "\033[P"
compose '`' 'A' to '<27>'
compose '`' 'a' to '<27>'
compose '\'' 'A' to '<27>'
compose '\'' 'a' to '<27>'
compose '^' 'A' to '<27>'
compose '^' 'a' to '<27>'
compose '~' 'A' to '<27>'
compose '~' 'a' to '<27>'
compose '"' 'A' to '<27>'
compose '"' 'a' to '<27>'
compose '-' 'a' to '<27>'
compose '-' 'A' to '<27>'
compose 'O' 'A' to '<27>'
compose 'o' 'a' to '<27>'
compose '0' 'A' to '<27>'
compose '0' 'a' to '<27>'
compose 'A' 'A' to '<27>'
compose 'a' 'a' to '<27>'
compose '<27>' 'A' to '<27>'
compose '<27>' 'a' to '<27>'
compose 'A' 'E' to '<27>'
compose 'a' 'e' to '<27>'
compose ',' 'C' to '<27>'
compose ',' 'c' to '<27>'
compose '^' 'C' to '<27>'
compose '^' 'c' to '<27>'
compose '`' 'E' to '<27>'
compose '`' 'e' to '<27>'
compose '\'' 'E' to '<27>'
compose '\'' 'e' to '<27>'
compose '^' 'E' to '<27>'
compose '^' 'e' to '<27>'
compose '"' 'E' to '<27>'
compose '"' 'e' to '<27>'
compose '`' 'I' to '<27>'
compose '`' 'i' to '<27>'
compose '\'' 'I' to '<27>'
compose '\'' 'i' to '<27>'
compose '^' 'I' to '<27>'
compose '^' 'i' to '<27>'
compose '"' 'I' to '<27>'
compose '"' 'i' to '<27>'
compose '-' 'D' to '<27>'
compose '-' 'd' to '<27>'
compose '^' 'D' to '<27>'
compose '^' 'd' to '<27>'
compose '~' 'N' to '<27>'
compose '~' 'n' to '<27>'
compose '^' 'N' to '<27>'
compose '^' 'n' to '<27>'
compose '`' 'O' to '<27>'
compose '`' 'o' to '<27>'
compose '\'' 'O' to '<27>'
compose '\'' 'o' to '<27>'
compose '^' 'O' to '<27>'
compose '^' 'o' to '<27>'
compose '~' 'O' to '<27>'
compose '~' 'o' to '<27>'
compose '"' 'O' to '<27>'
compose '"' 'o' to '<27>'
compose '/' 'O' to '<27>'
compose '/' 'o' to '<27>'
compose '-' 'o' to '<27>'
compose '-' 'O' to '<27>'
compose '`' 'U' to '<27>'
compose '`' 'u' to '<27>'
compose '\'' 'U' to '<27>'
compose '\'' 'u' to '<27>'
compose '^' 'U' to '<27>'
compose '^' 'u' to '<27>'
compose '"' 'U' to '<27>'
compose '"' 'u' to '<27>'
compose '\'' 'Y' to '<27>'
compose '\'' 'y' to '<27>'
compose 'T' 'H' to '<27>'
compose 't' 'h' to '<27>'
compose 's' 's' to '<27>'
compose '"' 'y' to '<27>'
compose 's' 'z' to '<27>'
compose 'n' 'n' to '<27>'
compose 'n' 'h' to '<27>'
compose 'N' 'Y' to '<27>'
compose 'N' 'N' to '<27>'
compose 'N' 'H' to '<27>'
compose 'N' 'y' to '<27>'
compose 'N' 'n' to '<27>'
compose 'N' 'h' to '<27>'
compose '-' 'L' to '<27>'
compose '<' '<' to '<27>'
compose '>' '>' to '<27>'
compose '?' '?' to '<27>'
compose '^' '?' to '<27>'
compose '!' '!' to '<27>'
compose '^' '!' to '<27>'
compose '^' '1' to '<27>'
compose '^' '2' to '<27>'
compose '^' '3' to '<27>'
compose '+' '-' to '<27>'
compose 'c' '=' to '<27>'
compose 'c' '/' to '<27>'
compose '/' 'c' to '<27>'
compose '-' 'c' to '<27>'
compose '-' 'C' to '<27>'
compose '|' 'c' to '<27>'
compose '|' 'C' to '<27>'
compose 'L' '=' to '<27>'
compose '-' 'L' to '<27>'
compose '-' 'l' to '<27>'
compose '^' '*' to '<27>'
compose '^' 'x' to '<27>'
compose 'x' 'x' to '<27>'
compose '^' '.' to '<27>'
compose '.' '.' to '<27>'
compose '^' '/' to '<27>'
compose '^' ':' to '<27>'
compose '-' ':' to '<27>'
compose ':' '-' to '<27>'
compose 'Y' '=' to '<27>'
compose '=' 'Y' to '<27>'
compose '-' 'Y' to '<27>'
compose '-' 'l' to '<27>'
compose '(' 'c' to '<27>'
compose '"' 'c' to '<27>'
compose 'O' 'C' to '<27>'
compose '(' 'C' to '<27>'
compose 'C' ')' to '<27>'
compose '-' 'a' to '<27>'
compose '-' 'A' to '<27>'
compose '-' 'o' to '<27>'
compose '-' 'O' to '<27>'
compose '(' 'r' to '<27>'
compose '"' 'r' to '<27>'
compose 'O' 'R' to '<27>'
compose '(' 'R' to '<27>'
compose 'R' ')' to '<27>'
compose 'm' 'u' to '<27>'
compose 'P' 'P' to '<27>'
compose '1' '4' to '<27>'
compose '1' '2' to '<27>'
compose '3' '4' to '<27>'
compose 'e' '=' to '<27>'
compose '-' 'e' to '<27>'
compose '-' 'E' to '<27>'
compose '=' 'E' to '<27>'
compose 'v' 'S' to '<27>'
compose '^' 'S' to '<27>'
compose 'v' 's' to '<27>'
compose '^' 's' to '<27>'
compose 'v' 'Z' to '<27>'
compose '^' 'Z' to '<27>'
compose 'v' 'z' to '<27>'
compose '^' 'z' to '<27>'
compose 'O' 'E' to '<27>'
compose 'O' 'e' to '<27>'
compose 'o' 'e' to '<27>'
compose '"' 'Y' to '<27>'
compose 'i' 'j' to '<27>'
compose 'I' 'J' to '<27>'
compose '|' 's' to '$'
compose '|' 'S' to '$'
compose 'S' 'S' to '<27>'
compose '=' 'C' to '<27>'
compose 'C' '=' to '<27>'
compose 'o' 'x' to '<27>'
compose 'x' 'o' to '<27>'

97
linux/console/bin/mach_console Executable file
View File

@ -0,0 +1,97 @@
#!/bin/sh
schreiben () {
printf " keycode %3s = %-22s%-22s%-22s%-22s\n" $1 $2 $3 $4 $5
printf " shiftl keycode %3s = %-22s\n" $1 $6
printf " shift shiftl keycode %3s = %-22s\n" $1 $7
printf " altgr shiftl keycode %3s = %-22s\n" $1 $8
}
lesen() {
# Aufruf: lesen <Anzahl> <Zeilennummer in der Kurzreferenz> <Keycode der ersten Taste>
typeset -i zeile keycode
zeile=$2
keycode=$3
for i in $(seq 1 $1)
do
a=`head -$zeile kurzreferenz | tail -1`
schreiben $keycode $a
zeile=zeile+1
keycode=keycode+1
done
}
cat console.sondertasten
echo "! ----unknown keys----------------------------------------------------------"
lesen 1 64 57
echo
echo
echo "! --------------------------------------------------------------------------"
echo "! Row 1 (number row)"
echo "! --------------------------------------------------------------------------"
lesen 1 1 41
lesen 12 2 2
echo
echo "! --------------------------------------------------------------------------"
echo "! Row 2 (upper row)"
echo "! --------------------------------------------------------------------------"
lesen 12 14 16
echo
echo "! --------------------------------------------------------------------------"
echo "! Row 3 (home row, middle row)"
echo "! --------------------------------------------------------------------------"
lesen 11 26 30
echo
echo "! --------------------------------------------------------------------------"
echo "! Row 4 (lower row)"
echo "! --------------------------------------------------------------------------"
lesen 10 37 44
echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 1 (uppest row)"
echo "! --------------------------------------------------------------------------"
lesen 1 47 69
lesen 1 48 98
lesen 1 49 55
lesen 1 50 74
echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 2 (upper row)"
echo "! --------------------------------------------------------------------------"
lesen 3 51 71
lesen 1 54 78
echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 3 (home row, middle row)"
echo "! --------------------------------------------------------------------------"
lesen 3 55 75
echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 4 (lower row)"
echo "! --------------------------------------------------------------------------"
lesen 3 58 79
echo
echo "! --------------------------------------------------------------------------"
echo "! Keypad Row 5 (lowest row)"
echo "! --------------------------------------------------------------------------"
lesen 2 62 82
echo
echo
echo "! --------------------------------------------------------------------------"
echo "! Strings and Compose"
echo "! --------------------------------------------------------------------------"
echo "string F100 = \"setleds +num\n\""
#cat console.string_compose

View File

@ -0,0 +1,9 @@
#!/bin/sh
xmodmap=../xmodmap/neo_de.xmodmap
grep -n ^keycode $xmodmap | grep ^[12] | tr -s [:blank:] ' '| cut -f2 -d = > mach_kurzreferenz.hilfe
grep space $xmodmap | grep ^keycode | tr -s [:blank:] ' '| cut -f2 -d = >> mach_kurzreferenz.hilfe
sed -f console.ersetze mach_kurzreferenz.hilfe
rm mach_kurzreferenz.hilfe

View File

@ -0,0 +1,37 @@
#!/bin/sh
xmodmap=../xmodmap/neo_de.xmodmap
grep -n ^keycode $xmodmap | grep ^[12] | tr -s [:blank:] ' '| cut -f2 -d = > mach_kurzreferenz.hilfe1
sed -f console.ersetze.vorprogramm mach_kurzreferenz.hilfe1 > mach_kurzreferenz.hilfe2
anzahl=`wc -l mach_kurzreferenz.hilfe2 | cut -f1 -d \ `
for i in $(seq 1 $anzahl)
do
for j in $(seq 2 8)
do
a=`head -$i mach_kurzreferenz.hilfe2 | tail -1 | cut -f $j -d\ `
if [ "$a" ]
then
b=`echo $a | cut -c-2`
if [ ! "$b" == "U+" ]
then
c=`grep $a dump`
if [ ! "$c" ]
then
d=`grep -w $a console.keysyms | cut -f2 -d U | cut -c-4`
if [ "$d" ]
then
echo "s/"$a"/U+"$d"/g"
else
echo "s/"$a"/VoidSymbol/g"
fi
fi
fi
fi
done
done
rm mach_kurzreferenz.hilfe1
rm mach_kurzreferenz.hilfe2