IE 10 - Standard-Tastenkombination deaktivieren
der Niederrheiner
- browser
Hallo zusammen,
besteht die Möglichkeit, im IE-10 eine bestimmte Tastenkombination zu deaktivieren (in diesem Fall Strg+J) ?
Ich weiss, es geht in der Registry, aber das hilft mir nichts, da komme ich nicht ran.
Suche also eine programmierbare Möglichkeit (JS ?)
Grund: beim Scannen von Barcodes im Browser öfnnet sich immer das IE-Download-Fenster
Danke
Stephan
Moin Moin!
Grund: beim Scannen von Barcodes im Browser öfnnet sich immer das IE-Download-Fenster
Bring dem Scanner bei, nicht immer Ctrl-J in seine virtuelle Tastatur zu tippen!
Die aktuellen Barcode-Scanner, mit denen ich mich beruflich gelegentlich herumschlage, kann man so programmieren, dass sie Zeichen per Alt+Numerik-Block eintippe.
Gryphon nennt das sehr verwirrend "USB Keyboard with alternate key encoding" oder "Select USB Alternate Keyboard" für USB-Anschluß, "AT, PS/2 ... W/Alternate Key" oder "Select KBD-AT-ALT" für PS/2-Anschluß.
Gemeint ist, dass der Scanner für ein "A" eben nicht mehr die Tastatur-Codes für Shift gedrückt, A getippt, Shift losgelassen sendet, sondern Alt gedrückt, Num-6 getippt, Num-5 getippt, Alt losgelassen. Und das für alle zu übertragenden Zeichen. Das funktionert vollkommen unabhängig vom Tastaturlayout. Einziger Haken: Der Scanner muß mehr Daten senden, das macht den Scan-Vorgang geringfügig langsamer.
Wie Dein Scanner einzustellen ist, steht in dessen Handbuch. Typischerweise scannt man spezielle Programmiercodes aus den Handbuch ab.
Wenn das Ctrl-J überhaupt keine Bedeutung im Barcode hat, ist der Scanner vermutlich nicht korrekt eingestellt, auch das läßt sich mit Hilfe des Handbuchs beheben.
Alexander
Hallo,
Bring dem Scanner bei, nicht immer Ctrl-J in seine virtuelle Tastatur zu tippen!
[...]
Wenn das Ctrl-J überhaupt keine Bedeutung im Barcode hat, ist der Scanner vermutlich nicht korrekt eingestellt, auch das läßt sich mit Hilfe des Handbuchs beheben.
naja, Ctrl-J ist 0x0A, also ein Linefeed. Wenn der Scanner an einem Unixoiden System betrieben wird oder wurde, wäre das gar nicht so verkehrt. Für ein Windows-System sollte er wohl lieber ein Ctrl-M (0x0D, Carriage Return) senden. Eventuell auch beides (CR/LF, also Ctrl-M/Ctrl-J), wobei für eine Eingabe auch bei Windows normalerweise ein CR alleine ausreicht.
Und ich bin auch der Meinung: Mit an Sicherheit grenzender Wahrscheinlichkeit lässt sich der Scanner ohne große Mühe passend einstellen.
Ciao,
Martin
naja, Ctrl-J ist 0x0A, also ein Linefeed. Wenn der Scanner an einem Unixoiden System betrieben wird oder wurde, wäre das gar nicht so verkehrt. Für ein Windows-System sollte er wohl lieber ein Ctrl-M (0x0D, Carriage Return) senden. Eventuell auch beides (CR/LF, also Ctrl-M/Ctrl-J), wobei für eine Eingabe auch bei Windows normalerweise ein CR alleine ausreicht.
Hallo zusammen,
und danke für euer beider Antworten. Das der Scanner zu programmieren ist, ist klar, habe ich auch nach unseren Bedürfnissen gemacht.
Beim Abschliessenden Zeichen gibt es allerdings nicht sehr viele Möglichkeiten - allenfalls
a) nix
b) C/R
c) LF
d) TAB
Die Zeichen werden über einen Barcode definiert.
Erstaunlich finde ich die Antwort, das Ctrl-J ein Linefeed darstellt, da ich definitiv ein TAB als Schlußzeichen definiert habe (das funktioniert auch so beim Einlesen).
Ggf. habe ich das Ctrl-J falsch interpretiert - bis einschl. IE9 kann ich problemlos scannen - nach Scan verlässt der Cursor das Eingabefeld, also funktioniert der Tab.
Seit IE funktioniert der Scan und der TAB ebenfalls, ABER: der IE-Dialog "Downloads" öffnet sich bei jedem Scan. Da dieser mit Strg-J aufrufbar ist, habe ich dieses als Fehlerquelle interpretiert.
Fest steht, ich benötige das TAB als Schlußzeichen !!!
Any Ideas
Danke
Stephan
Hallo,
und danke für euer beider Antworten. Das der Scanner zu programmieren ist, ist klar, habe ich auch nach unseren Bedürfnissen gemacht.
ja, okay.
Beim Abschliessenden Zeichen gibt es allerdings nicht sehr viele Möglichkeiten - allenfalls
a) nix
b) C/R
c) LF
d) TAB
Reicht ja auch für die meisten Anwendungsfälle.
Erstaunlich finde ich die Antwort, das Ctrl-J ein Linefeed darstellt, da ich definitiv ein TAB als Schlußzeichen definiert habe (das funktioniert auch so beim Einlesen).
Das wäre dann ein Ctrl-I (0x09).
Ggf. habe ich das Ctrl-J falsch interpretiert - bis einschl. IE9 kann ich problemlos scannen - nach Scan verlässt der Cursor das Eingabefeld, also funktioniert der Tab.
Ja, scheint so. Aber vermutlich emuliert der Scanner einfach eine Tastatur und sendet daher nicht den ASCII-Code für Tab, sondern die Tastatur-Ereignisse "Ctrl gedrückt", "I gedrückt", "I losgelassen", "Ctrl losgelassen". Wenn das so ist, müsste auch ein Programm wie z.B. Word, das ja einige Ctrl-Kombinationen für spezielle Funktionen nutzt, entsprechend reagieren (nicht dass uns das weiterhilft, könnte höchstens als Bestätigung dienen).
Seit IE funktioniert der Scan und der TAB ebenfalls, ABER: der IE-Dialog "Downloads" öffnet sich bei jedem Scan. Da dieser mit Strg-J aufrufbar ist, habe ich dieses als Fehlerquelle interpretiert.
Eigenartig.
Fest steht, ich benötige das TAB als Schlußzeichen !!!
Any Ideas
Leider nein, außer: IE10 meiden ...
Im Programm "hartcodierte" Tastaturfunktionen kannst du jedenfalls nicht so einfach "umbiegen" - wenn überhaupt, dann nur mit einem Patch der Programminstallation auf *einem* bestimmten PC. :-(
Ciao,
Martin
Ggf. habe ich das Ctrl-J falsch interpretiert - bis einschl. IE9 kann ich problemlos scannen - nach Scan verlässt der Cursor das Eingabefeld, also funktioniert der Tab.
Ja, scheint so. Aber vermutlich emuliert der Scanner einfach eine Tastatur und sendet daher nicht den ASCII-Code für Tab, sondern die Tastatur-Ereignisse [...]
das stimmt, erhängt an einer Tastatur-Weiche
Leider nein, außer: IE10 meiden ...
geht nicht, Firmenstandard :o(
Im Programm "hartcodierte" Tastaturfunktionen kannst du jedenfalls nicht so einfach "umbiegen" - wenn überhaupt, dann nur mit einem Patch der Programminstallation auf *einem* bestimmten PC. :-(
Ich weiß, es gibt eine Möglichkeit in der Registry - aber auch nur auf meinem PC. Die meisten Teile laufen als Terminal.
Ciao,
Martin
Trotzdem Danke
Stephan
Moin Moin!
Beim Abschliessenden Zeichen gibt es allerdings nicht sehr viele Möglichkeiten - allenfalls
a) nix
Das solltest Du definitiv mal ausprobieren. Klar ist es doof, nach jedem Scan manuell TAB oder ENTER zu drücken. Wenn es mit der Einstellung funktioniert, ohne das das Downloads-Fenster aufpoppt, ist schonmal klar, dass es am Schlußzeichen liegen muß.
b) C/R
Da sollte der Scanner eigentlich die ENTER-Taste "drücken", ist aber wohl etwas von der Firmware abhängig.
c) LF
Da würde ich Ctrl-J oder Alt down, Num-1, Num-0, Alt up erwarten.
d) TAB
Tab oder Ctrl-I.
Die Zeichen werden über einen Barcode definiert.
Ja, wie üblich.
Erstaunlich finde ich die Antwort, das Ctrl-J ein Linefeed darstellt, da ich definitiv ein TAB als Schlußzeichen definiert habe (das funktioniert auch so beim Einlesen).
Ggf. habe ich das Ctrl-J falsch interpretiert - bis einschl. IE9 kann ich problemlos scannen - nach Scan verlässt der Cursor das Eingabefeld, also funktioniert der Tab.
Sehr merkwürdige Schlußfolgerung. Den TAB würde ich erst dann glauben, wenn der Fokus definitiv zum nächsten Eingabefeld bzw. Button gesprungen ist. Es gibt viele Wege, ein Eingabefeld den Cursor verlieren zu lassen, ohne TAB zu drücken.
Unter Linux würde ich Dir raten, mal xev zu starten und aufzuzeichnen, was der Scanner wirklich an Tasten "drückt". Für Windows gibt's wohl einige Imitate.
Seit IE funktioniert der Scan und der TAB ebenfalls, ABER: der IE-Dialog "Downloads" öffnet sich bei jedem Scan. Da dieser mit Strg-J aufrufbar ist, habe ich dieses als Fehlerquelle interpretiert.
Fest steht, ich benötige das TAB als Schlußzeichen !!!
Nein, Du glaubst das nur. Eigentlich möchtest Du als Abschluß des Scans einen (simulierten) Tastendruck auf die Tabulator-Taste haben. Das ist ein feiner Unterschied.
Und wenn Du mal drüber nachdenkst, würde ENTER auch funktionieren. Das würde ein Formular im IE automatisch abschicken, es sei denn, Du baust am Eingabefeld bzw. am Formular ein paar Event-Handler an. Oder, noch viel einfacher: Du benutzt statt eines normalen Eingabefeldes http://de.selfhtml.org/javascript/objekte/window.htm#prompt@title=window.prompt(). Notfalls in einer Schleife, bis eine leere Eingabe oder ein Abbruch kommt.
Übrigens:
Welchen Scanner (Hersteller, Modell) verwendest Du, und wie ist der Scanner angeschlossen?
Ich weiß, das unsere alten PS/2-Scanner mit PS/2-USB-Adaptern teilweise die verrücktesten Sachen machen. Nicht immer, nicht jeder Scanner, und nicht jeder Adapter. Ganz fürchterlich abhängig vom Scanner, seiner Konfigration, vom USB-Adapter-Modell, vom Tide-Stand in Cuxhaven und von der Temperatur an der Eiger-Nordwand.
Die neuen Scanner mit USB-Kabel sind ziemlich harmlos, die funktionieren einfach. Allerdings scannen wir nicht in den IE, sondern in eigene Anwendungen.
Alexander
Hallo Alexander !
Moin Moin!
Beim Abschliessenden Zeichen gibt es allerdings nicht sehr viele Möglichkeiten - allenfalls
a) nixDas solltest Du definitiv mal ausprobieren. Klar ist es doof, nach jedem Scan manuell TAB oder ENTER zu drücken. Wenn es mit der Einstellung funktioniert, ohne das das Downloads-Fenster aufpoppt, ist schonmal klar, dass es am Schlußzeichen liegen muß.
Es passiert auch wirklich nix !!
Ggf. habe ich das Ctrl-J falsch interpretiert - bis einschl. IE9 kann ich problemlos scannen - nach Scan verlässt der Cursor das Eingabefeld, also funktioniert der Tab.
Sehr merkwürdige Schlußfolgerung. Den TAB würde ich erst dann glauben, wenn der Fokus definitiv zum nächsten Eingabefeld bzw. Button gesprungen ist. Es gibt viele Wege, ein Eingabefeld den Cursor verlieren zu lassen, ohne TAB zu drücken.
Der Cursor springt tatsächlich zum nächsten Eingabefeld
Fest steht, ich benötige das TAB als Schlußzeichen !!!
Nein, Du glaubst das nur. Eigentlich möchtest Du als Abschluß des Scans einen (simulierten)
Tastendruck auf die Tabulator-Taste haben. Das ist ein feiner Unterschied.
ok, gebe ich zu
Und wenn Du mal drüber nachdenkst, würde ENTER auch funktionieren. Das würde ein Formular im
IE automatisch abschicken,
eben, und das darf es nicht - obwohl mir in diesem Zusammenhang gerade beim Schreiben die Idee kommt, einfach zwei Formulare auf meine Seite zu setzen, dann würde das ENTER im ersten form nicht den submit() im zweiten auslösen.
es sei denn, Du baust am Eingabefeld bzw. am Formular ein paar Event-Handler an.
ist es ja auch: ein onBlur()
Oder, noch viel einfacher: Du benutzt statt eines normalen Eingabefeldes http://de.selfhtml.org/javascript/objekte/window.htm#prompt@title=window.prompt(). Notfalls in einer Schleife, bis eine leere Eingabe oder ein Abbruch kommt.
nur über meine Leiche :o)
Übrigens:
Welchen Scanner (Hersteller, Modell) verwendest Du, und wie ist der Scanner angeschlossen?
Ein Honeywell Tischscanner MS-7820 an einer Tastaturweiche
Ich weiß, das unsere alten PS/2-Scanner mit PS/2-USB-Adaptern teilweise die verrücktesten Sachen machen. Nicht immer, nicht jeder Scanner, und nicht jeder Adapter. Ganz fürchterlich abhängig vom Scanner, seiner Konfigration, vom USB-Adapter-Modell, vom Tide-Stand in Cuxhaven und von der Temperatur an der Eiger-Nordwand.
Kenne ich, hatte die Probleme mit einem Handscanner an Tastaturweiche -> PS/2 - nur Müllscanning.
Als Solo an einem USB-Adapter ging's dann.
Alexander
Danke,
Stephan
Moin Moin!
Und wenn Du mal drüber nachdenkst, würde ENTER auch funktionieren. Das würde ein Formular im
IE automatisch abschicken,eben, und das darf es nicht - obwohl mir in diesem Zusammenhang gerade beim Schreiben die Idee kommt, einfach zwei Formulare auf meine Seite zu setzen, dann würde das ENTER im ersten form nicht den submit() im zweiten auslösen.
Genau. In das Scan-Formular baust Du einen OnSubmit-Handler, der nur Daten ins zweite Formular schafft und das Submit-Event abbricht.
Übrigens:
Welchen Scanner (Hersteller, Modell) verwendest Du, und wie ist der Scanner angeschlossen?
Ein Honeywell Tischscanner MS-7820 an einer Tastaturweiche
Dafür gibt's Downloads. Insbesondere ein Konfigurationshandbuch. Gut.
Was für Barcode-Typen scannst Du? Irgendwelche, die so ziemlich jedes Zeichen codieren können? Mit Code128 könntest Du Dir wilde Steuerzeichen einfangen...
Scan doch mal "harmlose" Barcodes wie die allgegenwärtige EAN.
Und prüf mal, was der Scanner tatsächlich sendet (siehe xev-Nachbauten).
Ansonsten bietet das Konfigurationshandbuch jede Menge Einstellmöglichkeiten. Ich würde mal mit einem gründlichen Reset auf Factory Defaults ("Recall Defaults" im Kapitel "Need to Start Over?") anfangen.
Dann, je nach dem, ob Du eine PS/2-Tastatur betreibst oder nicht, entweder "Enable Keyboard Wedge Emulation" oder "Enable Stand-Alone Keyboard Scanner" (Section C), und einen von "Enable CR Suffix", "Enable LF Suffix", "Enable Tab Suffix" (Section E, Standard Suffix Characters). Dann "Germany Keyboard", "AT Keyboard" oder "PS/2 Keyboard" (Section H). AT-Keyboard düfte ausschließlich Scancode Set 1 und 2 können, PS/2-Keyboard auch Scancode Set 3. Windows sollte beides verdauen können.
"Enable Alt Mode" tippt die Zeichen über Alt+Nummernblock, was - wie schon erwähnt - viel Ärger erspart. "Enable Auto Detect Mode" erkennt aktives Caps Lock und schaltet dann Caps Lock gezielt aus oder verkneift sich Shift. Das funktioniert ganz einfach über die LEDs der Tastatur, die bekanntlich(?) vom PC gesteuert werden. (Man kan Barcode-Scanner mit Caps-Lock-Automatik SEHR verwirren, wenn die Caps-Lock-LED von der Caps-Lock-Funktion entkoppelt wird, z.B. unter Linux).
Dann gibt es ein augenscheinlich sehr fieses Default: "USe Extended ASCII to Send Extended Key Codes (Use extended ASCII characters to send keyboard keys such as F1, F2, etc.)" Das würde ich AUF JEDEN FALL abschalten, mit "Use Extended ASCII Characters as Extended ASCII".
Noch eine kleine Anmerkung zum Handbuch: Dort wird davon ausgegangen, dass man sich ziemlich gut mit der Tastatur-Hardware des IBM PC/XT/AT/PS/2 auskennt. Insbesondere MAKE und BREAK sind typischer Slang. Make heißt nichts anderes als Make electical connection, also Taste drücken, Break entsprechend Break electical connection, also Taste loslassen. Dabei senden PC-Tastaturen unterschiedliche Codes zum PC, je nach Betriebsart (XT, AT, PS/2).
Alexander
Hallo,
Dann, je nach dem, ob Du eine PS/2-Tastatur betreibst oder nicht, ...
schreibt der Niederrheiner doch: das stimmt, erhängt an einer Tastatur-Weiche.
"Enable Alt Mode" tippt die Zeichen über Alt+Nummernblock, was - wie schon erwähnt - viel Ärger erspart.
Ja, damit wird auf Umwegen direkt der ASCII-Code des gewünschten Zeichens übermittelt.
Noch eine kleine Anmerkung zum Handbuch: Dort wird davon ausgegangen, dass man sich ziemlich gut mit der Tastatur-Hardware des IBM PC/XT/AT/PS/2 auskennt. Insbesondere MAKE und BREAK sind typischer Slang.
Das ist aber auch Pflichtvokabular für alle, die sich mal mit der Übermittlung von Tastatureingaben beschäftigen.
Ciao,
Martin
Moin Moin!
Dann, je nach dem, ob Du eine PS/2-Tastatur betreibst oder nicht, ...
schreibt der Niederrheiner doch: das stimmt, erhängt an einer Tastatur-Weiche.
Richtig, so arbeiten viele Scanner. Die Frage ist trotzdem, ob an der Tastaturweiche eine Tastatur hängt oder nicht. Mit Tastatur kümmert sich die Tastatur um Power-On-Statusmeldung und Antworten auf Kommandos, der Scanner hört nur mit. Ohne Tastatur muß das der Scanner selbst erledigen. Natürlich könnte man der Tastaturweiche auch genügend intelligenz einbauen, dass die die Antwort einer Tastatur erkennt und bei deren Ausbleiben selbst zügig eine Antwort generiert.
Die verbliebenen alten PS/2-Scanner auf der Arbeit haben alle eine Tastaturweiche, aber zu 90% hängt an der Tastaturweiche nur ein PS/2-USB-Adapter zum Rechner, entweder weil der Rechner ein Laptop ist und damit schon eine Tastatur hat, oder weil der Rechner schlicht keine PS/2-Ports mehr hat. Soweit ich mich erinnere, kennen unsere Scanner die Option Tastatur ja/nein nicht, ganz offenbar, weil sie die Tastatur automatisch erkennen und ggf. selbst Tastatur-Antworten generieren.
"Enable Alt Mode" tippt die Zeichen über Alt+Nummernblock, was - wie schon erwähnt - viel Ärger erspart.
Ja, damit wird auf Umwegen direkt der ASCII-Code des gewünschten Zeichens übermittelt.
Richtig, und der Scanner muß deutlich weniger Annahmen über das aktuelle Tastatur-Layout des Betriebssystems machen. (Num Lock an oder aus, Caps Lock an oder aus, wirkt Caps Lock für Zifferntasten, hebt Shift Caps Lock ganz auf oder nur temporär, erzeugt Shift bei aktivem Caps Lock völlig andere Zeichen, welche Steuerzeichen lassen sich per Ctrl+Buchstabe eingeben, ...) So lange die Alt-Taste und die zehn Ziffern des Numerik-Blocks nicht umbelegt sind und die Alt-Numerik-Block-Konvention unterstützt wird, kann der Scanner jedes beliebige Zeichen übermitteln.
Alexander
Hallo zusammen,
wow - das waren jetzt ja mal sehr viele und interessante Informationen. Vielen Dank für eure Unterstützung.
Als Scan-Newbie hatte ich bisher immer Glück und musste mich nie um Tastaturlayouts oder gesendete Codes etc. etc. kümmern.
Anschliessen, letztes Zeichen und Prüfsumme ignorieren bestimmen und es lief immer problemlos.
Ich werde auf jeden Fall den Scan-Send auf die ALT+Numlock-Code Methode umstellen.
Da ich gerade aber was ganz anderes mache, teste ich es im Laufe der Woche und melde mich.
Schon mal herzlichen Dank für Euer beiden Kommentare !!!!
beste Grüße vom Niederrhein
Stephan
noch zur Ergänzung :
ich scanne schnöde EAN13-Codes
Stephan