Tastenbelegung der Funktionstasten F1–F12

Hi,

mit dem Problem durfte ich mich jetzt auch eine Weile rumschlagen. Es gibt mit dem Firefox tatsächlich eine Möglichkeit die F-Tasten abzufangen, so dass man sie sogar mit seinen eigenen Funktionen neu Belegen kann:

Die wichtigsten Dinge dabei sind:
document.onkeydown bzw. document.onkeypress=function(){ return false; }

Der Firefox reagiert da ganz gut drauf. Leider nicht so toll beim IE.

<script language="JavaScript">
function getKeyCode(event) {
event = event || window.event;
return event.keyCode;
}

function showOutput(code)
{
Output=document.getElementById('show');
var text;

switch (code) {
case 6: text = "Hilfe, ein Mac"; // backspace
break;
case 8: text = "Backspace"; // backspace
break;
case 9: text = "Tab"; // tab
break;
case 13: text = "Enter"; // enter
break;
case 16: text = "Shift"; // shift
break;
case 17: text = "CTRL"; // ctrl
break;
case 18: text = "ALT"; // alt
break;
case 19: text = "Pause/Break"; // pause/break
break;
case 20: text = "Caps Lock"; // caps lock
break;
case 27: text = "ESC"; // escape
break;
case 32: text = "Leerzeichen"; // Blank
break;
case 33: text = "Seite nach oben"; // page up, to avoid displaying alternate character and confusing people
break;
case 34: text = "Seite nach unten"; // page down
break;
case 35: text = "Ende"; // end
break;
case 36: text = "Home"; // home
break;
case 37: text = "Linker Pfeil"; // left arrow
break;
case 38: text = "Pfeil nach oben"; // up arrow
break;
case 39: text = "Rechter Pfeil"; // right arrow
break;
case 40: text = "Pfeil nach unten"; // down arrow
break;
case 43: text = "Plus auf der numerischen Tastatur";
break;
case 45: text = "Einfügen"; // insert
break;
case 46: text = "Löschen"; // delete
break;
case 91: text = "Linkes Fenster"; // left window
break;
case 92: text = "Rechtes Fenster"; // right window
break;
case 93: text = "Auswählen"; // select key
break;
case 96: text = "Numpad 0"; // Numpad 0
break;
case 97: text = "Numpad 1"; // Numpad 1
break;
case 98: text = "Numpad 2"; // Numpad 2
break;
case 99: text = "Numpad 3"; // Numpad 3
break;
case 100: text = "Numpad 4"; // Numpad 4
break;
case 101: text = "Numpad 5"; // Numpad 5
break;
case 102: text = "Numpad 6"; // Numpad 6
break;
case 103: text = "Numpad 7"; // Numpad 7
break;
case 104: text = "Numpad 8"; // Numpad 8
break;
case 105: text = "Numpad 9"; // Numpad 9
break;
case 106: text = "Multiplizieren"; // multiply
break;
case 107: text = "Adieren"; // add
break;
case 109: text = "Subtrahieren"; // subtract
break;
case 110: text = "Dezimalpunkt"; // decimal point
break;
case 111: text = "Teilen"; // divide
break;
case 112: text = "F1"; // F1
break;
case 113: text = "F2"; // F2
break;
case 114: text = "F3"; // F3
break;
case 115: text = "F4"; // F4
break;
case 116: text = "F5"; // F5
break;
case 117: text = "F6"; // F6
break;
case 118: text = "F7"; // F7
break;
case 119: text = "F8"; // F8
break;
case 120: text = "F9"; // F9
break;
case 121: text = "F10"; // F10
break;
case 122: text = "F11"; // F11
break;
case 123: text = "F12"; // F12
break;
case 144: text = "Num Lock"; // num lock
break;
case 145: text = "Scroll Lock"; // scroll lock
break;
case 186: text = ";"; // semi-colon
break;
case 187: text = "="; // equal-sign
break;
case 188: text = ","; // comma
break;
case 189: text = "-"; // dash
break;
case 190: text = "."; // period
break;
case 191: text = "/"; // forward slash
break;
case 192: text = "`"; // grave accent
break;
case 219: text = "["; // open bracket
break;
case 220: text = "\\"; // back slash
break;
case 221: text = "]"; // close bracket
break;
case 222: text = "'"; // single quote
break;
}

if(!text) text = String.fromCharCode(code);
Output.firstChild.nodeValue=text;
self.focus();
}

document.onkeypress = function()
{
return false;
}
document.onkeydown = function(event){
var charCode = getKeyCode(event);
showOutput(charCode);
return false;
}

</script>


<body>
PRESS ANY KEY TO KONTINÜ<br>
Anzeige der gewählten Taste:
<b>
<p id="show">
&nbsp;
</p>
</b>

</body>
 
...herauskram;-)

leider bin ich ein Java , benötige aber die Steuerung der WEbsite mittels der F-Tasten.

Das Script funktioniert in der Hinsicht auch einwandfrei, jedoch funktionieren keinerlei Eingaben (Formulare, etc.) auf der Website mehr.

Kann mir da jemand weiterhelfen

Grüße Hackl
 
Moin,

das return false beim onkeydown/onkeypress bewirkt, dass normale Tastatureingaben nicht möglich sind.

Du müsstest diesen Rückgabewert davon abhängig machen, ob die gedrückte Taste wirklich keine Wirkung zeigen soll.
 
Hi... danke für die hilfe...

leider klappt das noch nicht so wie ich das wil...

document.onkeypress = function()
{
var help = getKeyCode(event);
if(help <= 123)
{
if(help>=112)
{
return false;
}
}
}

document.onkeydown = function(event){
var charCode = getKeyCode(event);
showOutput(charCode);
if(charCode <= 123)
{
if(charCode>=112)
{
return false;
}
}
}
</script>


leider hab ich in Java wirklich nicht viel Ahnung:-(
 

Neue Beiträge

Zurück