Manuel
Anmeldungsdatum: 23.10.2004 Beiträge: 1271 Wohnort: Bayern
|
Verfasst am: 23.06.2007, 20:38 Titel: [HowTo] QBasic das dt. Tastenlayout beibringen (Vista/Seven) |
|
|
Hallo,
Tjoar, ich wollte etwas für die reibungslose Arbeit mit Q(uick)Basic beitragen.
Microsoft hat ja ein Betriebssystem, das auf den Namen "Vista" hört, veröffentlicht. Dieses Betriebssystem ist bislang das erste von MS, welches komplett im "Mutterland" übersetzt wurde. Das merkt man nicht nur an die stellenweise grausige Übersetzung bestimmter Wortteile ( ), sondern leider auch an der (wie ich finde) mangelhaften "Verpflegung" der 16bit-Emulation: Standardmäßig wird jedes DOS-Programm mit englischem Tastaturlayout ausgeführt. Für User mit QWERTZ-Tastatur ist das sicherlich nicht erwünschenswert
Nun denn, es gibt zwei Mittel, wie man das Problem lösen könnte. Die erste Möglichkeit ändert das Tastaturlayout nur temporär (d.h. nach einem Neustart ist das Problem mit der "Engländertastatur" wieder da), während die zweite Möglichkeit vorrübergehend Administratorrechte benötigt. Am Ende der Beschreibung (und sicherheitshalber nochmal am Ende dieses Beitrags) wird auf ein Progrämmchen von mir gelinkt, welches per Mausklick das Procedere automatisch durchführt.
- Möglichkeit 1
Unter Vista gibt es keinen "keyb"-Befehl mehr. Der Befehl wurde schlicht in "kb16" umbenannt, funktioniert aber genauso, wie damals unter Windows 9x & Co. der Fall war: In der Kommandozeile (Die man im Startmenü durch den Startknopf links unten -> "(Alle) Programme" -> Zubehör" -> "Eingabeaufforderung" aufruft) muss man KB16 GR eingeben. Sollte nach dieser Eingabe eine Fehlermeldung erscheinen, muss man möglichweise den Pfad der "keyboard.sys" mitangeben. Dann ist stattdessen die Eingabe von KB16 GR,,%SystemRoot%\system32\keyboard.sys erforderlich.
Vorteil: Es werden keine Administratorrechte benötigt.
Nachteil: Aus irgend einem Grund speichert Vista diese Belegung nicht. Spätestens nach einem Neustart benimmt sich Vista so, als hätte man den Befehl nie eingetippt.
- Möglichkeit 2
Auch unter Vista existiert noch sowas ähnliches wie eine "autoexec.bat", nur heißt die in Vista "autoexec.nt" und befindet sich im "System32"-Ordner, der sich wiederrum in dem Order befindet, in dem Vista installiert wurde (meist ist das "Windows"). Dieser Datei kann man nun einfach den in Möglichkeit 1 beschriebenen Befehl hinzufügen. Na gut, ganz so einfach ist es leider doch nicht: Vista besitzt diese UAC-Funktionalität, was u.a. dafür sorgt, dass es Schreibzugriffe auf geschützte Ordner umleitet - "windows" und "system32" sind geschützter Ordner. Würde man nun irgendein Schreibprogramm ("notepad") an die Datei lassen, werden gespeicherte Veränderungen ganz woanders gespeichert und es tritt keine Änderung des Tastenlayouts ein. Dummerweise klärt Vista den Benutzer über den veränderten Schreibzugriff nicht auf, weshalb man sich nach einem Neustart wundert, warum das Tastenlayout immer noch auf QWERTY gestellt ist.
Das Problem lässt sich beheben, in dem man das Schreibprogramm als Administrator startet: Ihr geht auf den Start-Button unten links und navigiert zu "(Alle) Programme" -> "Zubehör". Nun klickt mit der rechten(!) Maustaste auf "Editor" und wählt im Kontextmenü "Als Administrator ausführen..." aus. Den UAC-Dialog bestätigen wir. Nun kann man ganz normal die "autoexec.nt" editieren und den KB16-Befehl an der allerletzten Zeile eintragen. Nun ist nur noch ein Neustart fällig (bzw. das in Methode 1 gezeigte Procedere), damit Vista dauerhaft das deutsche Tastenlayout für 16bit-Konsolenprogramme eingestellt hat.
- Möglichkeit 2b
Ganz ehrlich: Die gerade beschriebene Methode funktioniert zwar, ist warum sollte man so viel herumfrickeln, wenn man das Ganze mit einem Programm erledigen kann, was die Prozedur automatisiert übernimmt? Deshalb habe ich ein kleines Progrämmchen geschrieben, was diese Prozedur vollautomatisch übernimmt: Klick mich, ich bin ein Link *click*. In diesem 200KB-ZIP-Archiv befindet sich ein Programm, welches Adminrechte benötigt, um ausgeführt zu werden. Sind keine Adminrechte da, fragt Vista nach der typischen Art und Weise *. Beim Start fragt es sicherheitshalber ab, ob man die Änderungen wirklich übernehmen möchte, und informiert über Erfolg und Misserfolg der Sache. Die andere Datei (eine ".au3"-Datei) ist der Quellcode des Programms; da das Programm eine vergleichsweise geringe "Schöpfungshöhe" besitzt, dürft ihr mit dem Quellcode machen, was ihr wollt . Auf alle Fälle sorgt es dafür, dass in der "%systemdir%\system32\autoexec.nt" eine neue Zeile eingefügt wird, die für die Tastenänderung sorgt. Der Nachteil dieser Sache ist, dass Adminrechte benötigt werden. Dafür ändert dieser Eintrag dauerhaft das Tastaturlayout für DOS-Programme auf deutsch um.
Hinweis: Gelegentlich ist auch noch ein Neustart vonnöten, aber spätestens dann ist das Problem endgültig behoben.
Tjoar... Ich hoffe, dieser Beitrag hilft allen Vista-Usern, die von der englischen Tastenbelegung ihrer DOS-Programme (wie Q(uick)Basic es ist) die Nase voll haben... Ich verbleibe mit freundlichem Gruß
* Der UAC-Dialog wird höchstwahrscheinlich eine Meldung "Ein nicht identifiziertes Programm möchte auf Ihrem Computer zugreifen" mit gelber Umrandung anzeigen. Hier kann man problemlos auf "Zulassen" klicken. Ich kann versichern, dass ich in dem Programm weder einen Virus noch sonst irgendein Schad- oder Spionageprogramm integriert habe . Gelegentlich melden sogar Virenscanner, dass es sich um einen Virus handeln könnte, in diesem Fall handelt es sich jedoch um falschen Alarm: Es gibt Viren, die mit AutoIt (der Sprache, mit der ich das Progrämmchen geschrieben habe) geschrieben wurden und manche Virenscanner gehen zu restriktiv gegen andere AutoIt-Programme vor. Wer ganz sicher gehen will, kann natürlich auch das mitgelieferte Script selbst kompilieren...
Hier nochmal das Programm für alle, die sich nicht durch den gesamten Beitrag wühlen möchten
dtlayvis.zip
Version vom 24.06.2007.
Nachtrag vom 19.01.2008: Einige Infos ergänzt, außerdem sollte das Programm gleich die Tastenänderung direkt verändern können, ohne Vista neu starten zu müssen.
Nachtrag vom 18.01.2009: Das Programm funktioniert auch unter Windows Seven Beta 1 korrekt! Es gibt zwar eine Warnmeldung, dass sich das System nicht als Vista-Betriebssystem zu erkennen gibt, die kann man aber getrost ignorieren. Sobald die finale Version von Win7 draußen ist, werde ich das Programm entsprechend so bearbeiten, dass die Warnung unter Win7 nicht mehr angezeigt wird.
Zuletzt bearbeitet von Manuel am 18.01.2009, 20:41, insgesamt 5-mal bearbeitet |
|