JAB Creations
03-30-2008, 03:35 PM
This is probably simple it's just there is a bit of code for each of the following script. When I enable both Keyboard Power Keys works but the Designer Keyboard does not. Can some one please point out what I need to change for both scripts to work simultaneously together? They are both correctly having their functions called by the onload function. It's some secondary function or something but I haven't figured it out on my own yet. :rolleyes:
Keyboard Power Keys
//
// Power Keys
// Version 1.0.2
// JAB Creations
// (with a little help! ;))
var showmeallcodes = false; // Debugging
var powerKeysEnabled = true; // Default state
var ids = new Array();
// Assign IDs to keycodes
ids[ 49] = "#ha"; // 1
ids[ 50] = "#hb"; // 2
ids[ 51] = "#hc"; // 3
ids[ 52] = "#hd"; // 4
ids[ 53] = "#he"; // 5
ids[ 54] = "#hf"; // 6
ids[ 55] = "#hg"; // 7
ids[ 56] = "#hh"; // 8
ids[ 57] = "#hi"; // 9
ids[ 58] = "#hj"; // :
ids[ 99] = "#content"; // c
// Music Player Functions
function previous() {
var mpprevious = document.getElementById("mpprevious");
var mpprevioushref = mpprevious.getAttribute("href");
alert(mpprevioushref);
}
function next() {
var mpnext = document.getElementById("mpnext");
var mpnexthref = mpnext.getAttribute("href");
alert(mpnexthref);
}
function menuhide() {
change('menub1', 'hidden');
change('menub2', 'hidden');
change('menub3', 'hidden');
change('menub4', 'hidden');
change('menub5', 'hidden');
change('menub6', 'hidden');
change('menub7', 'hidden');
change('menub8', 'hidden');
change('menub9', 'hidden');
}
function powerKeysEnable() {powerKeysEnabled = true;}
function powerKeysDisable() {powerKeysEnabled = false;}
function keyPressed(evt) {
var e = evt || event;
var key = e.which || e.keyCode;
if(!powerKeysEnabled) return;
if( showmeallcodes) {
alert( key);
return;
}
if (ids[ key]) {
menuhide();
window.hash = ids[ key];
} else switch( key) {
// M = #location1
case 78: // lower n
document.getElementById("menua1k").focus();
break;
// M = #location1
case 77: // lower m
document.getElementById("menua1k").focus();
break;
// L = #location1
case 76: // lower L
menuhide();
document.getElementById("location1").focus();
break;
// S = #search
case 83: // lower s
menuhide();
document.getElementById("searchquery").focus();
break;
// Esc = Close all prompts 23
case 27:
prompthide();
//
// If using page specific prompts, detect ID first, put id in page div.
//
// Hide Browser Gallery Prompts!
//
if (document.getElementById("browsers")) {
change('nixkonqueror355', 'hidden');
change('osxcamino15', 'hidden');
change('osxicab303', 'hidden');
change('osxmsie523', 'hidden');
change('osxfirefox2', 'hidden');
change('osxomniweb553', 'hidden');
change('osxopera921', 'hidden');
change('osxsafari3', 'hidden');
change('osxshiira21', 'hidden');
change('xpmsie70', 'hidden');
change('xpmsie60', 'hidden');
change('xpmsie55', 'hidden');
change('xpmsie50', 'hidden');
change('xpfirefox2', 'hidden');
change('xpopera921', 'hidden');
change('xpopera854', 'hidden');
change('xpopera802', 'hidden');
change('xpopera754', 'hidden');
change('xpopera723', 'hidden');
change('xpopera512', 'hidden');
change('xpopera402', 'hidden');
change('xpsafari3', 'hidden');
}
break;
}
}
function powerKeysInit() {
// Find all input fields we're interested in
var inputs = document.getElementsByTagName("input");
var selects = document.getElementsByTagName("select");
var texts = document.getElementsByTagName("textarea");
var tags = new Array();
// Push every element into tags
for( var i =0 ; inputs[ i]; i++) tags.push( inputs[ i]);
for( var s =0 ; selects[ s]; s++) tags.push( selects[ s]);
for( var t =0 ; texts[ t]; t++) tags.push( texts[ t]);
// Search all our input fields....
for( var t = 0; t < tags.length; t++) {
var tag = tags[ t]; // Make code a little more legible
// Check it's input text, or SELECT, or TEXTAREA
if( (tag.tagName == "input" && tag.type == "text") || (tag.tagName == "input" && tag.type == "password") || (tag.tagName == "select") || ( tag.tagName == "textarea")) {
addEvent( tag, "focus", powerKeysDisable); // Disable when active
addEvent( tag, "blur", powerKeysEnable); // Enable when not active
}
}
addEvent( document, "keydown", keyPressed);
}
function addEvent(elm, evType, fn, useCapture)
{
//Credit: Function written by Scott Andrews
//(slightly modified)
var ret = 0;
if (elm.addEventListener)
ret = elm.addEventListener(evType, fn, useCapture);
else if (elm.attachEvent)
ret = elm.attachEvent('on' + evType, fn);
else
elm['on' + evType] = fn;
return ret;
}
Designer Keyboard
// Disable backspace and spacebar
function keyPressed(evt) {
var keypkeysEnabled = true;
if (!pkeysEnabled) {return;}
else if (document._designer_Enabled == true) {
// the focus is NOT on a form element
if (evt.keyCode==8 || evt.keyCode==32) {
// don't allow backspaces or spacebars
evt.preventDefault();
return false;
}
}
}
function designer_keyboard() {
// Find all input fields we're interested in
var keyinputs = document.getElementsByTagName("input");
var keyselects = document.getElementsByTagName("select");
var keytexts = document.getElementsByTagName("textarea");
var keytags = new Array();
// Push every element into tags
for (var keyi =0 ; keyinputs[ keyi]; keyi++) keytags.push( keyinputs[keyi]);
for (var keys =0 ; keyselects[ keys]; keys++) keytags.push( keyselects[ keys]);
for (var keyt =0 ; keytexts[ keyt]; keyt++) keytags.push( keytexts[ keyt]);
// Search all our input fields....
for( var keyt = 0; keyt < keytags.length; keyt++) {
var keytag = keytags[ keyt]; // Make code a little more legible
var keynodeName = keytag.nodeName.toLowerCase();
var keytype = keytag.type.toLowerCase();
// Check it's input text, or SELECT, or TEXTAREA
if( (keynodeName == "input" && keytype == "text") || (keynodeName == "input" && keytype == "password") || (keynodeName == "select") || (keynodeName == "textarea")) {
addEvent( keytag, "focus", designer_Disable); // Disable when active
addEvent( keytag, "blur", designer_Enable); // Enable when not active
}
}
addEvent(document, "keydown", keyPressed);
// start off ._designer_Enabled at true
document._designer_Enabled = true;
}
function designer_Disable(e) {
// a form element has the focus
document._designer_Enabled = false;
}
function designer_Enable(e) {
// a form element lost the focus, so we're no where right now
document._designer_Enabled = true;
}
function addEvent(elm, evType, fn, useCapture)
{
//Credit: Function written by Scott Andrews
//(slightly modified)
var keyret = 0;
if (elm.addEventListener)
ret = elm.addEventListener(evType, fn, useCapture);
else if (elm.attachEvent)
ret = elm.attachEvent('on' + evType, fn);
else
elm['on' + evType] = fn;
return ret;
}
//]]>
Keyboard Power Keys
//
// Power Keys
// Version 1.0.2
// JAB Creations
// (with a little help! ;))
var showmeallcodes = false; // Debugging
var powerKeysEnabled = true; // Default state
var ids = new Array();
// Assign IDs to keycodes
ids[ 49] = "#ha"; // 1
ids[ 50] = "#hb"; // 2
ids[ 51] = "#hc"; // 3
ids[ 52] = "#hd"; // 4
ids[ 53] = "#he"; // 5
ids[ 54] = "#hf"; // 6
ids[ 55] = "#hg"; // 7
ids[ 56] = "#hh"; // 8
ids[ 57] = "#hi"; // 9
ids[ 58] = "#hj"; // :
ids[ 99] = "#content"; // c
// Music Player Functions
function previous() {
var mpprevious = document.getElementById("mpprevious");
var mpprevioushref = mpprevious.getAttribute("href");
alert(mpprevioushref);
}
function next() {
var mpnext = document.getElementById("mpnext");
var mpnexthref = mpnext.getAttribute("href");
alert(mpnexthref);
}
function menuhide() {
change('menub1', 'hidden');
change('menub2', 'hidden');
change('menub3', 'hidden');
change('menub4', 'hidden');
change('menub5', 'hidden');
change('menub6', 'hidden');
change('menub7', 'hidden');
change('menub8', 'hidden');
change('menub9', 'hidden');
}
function powerKeysEnable() {powerKeysEnabled = true;}
function powerKeysDisable() {powerKeysEnabled = false;}
function keyPressed(evt) {
var e = evt || event;
var key = e.which || e.keyCode;
if(!powerKeysEnabled) return;
if( showmeallcodes) {
alert( key);
return;
}
if (ids[ key]) {
menuhide();
window.hash = ids[ key];
} else switch( key) {
// M = #location1
case 78: // lower n
document.getElementById("menua1k").focus();
break;
// M = #location1
case 77: // lower m
document.getElementById("menua1k").focus();
break;
// L = #location1
case 76: // lower L
menuhide();
document.getElementById("location1").focus();
break;
// S = #search
case 83: // lower s
menuhide();
document.getElementById("searchquery").focus();
break;
// Esc = Close all prompts 23
case 27:
prompthide();
//
// If using page specific prompts, detect ID first, put id in page div.
//
// Hide Browser Gallery Prompts!
//
if (document.getElementById("browsers")) {
change('nixkonqueror355', 'hidden');
change('osxcamino15', 'hidden');
change('osxicab303', 'hidden');
change('osxmsie523', 'hidden');
change('osxfirefox2', 'hidden');
change('osxomniweb553', 'hidden');
change('osxopera921', 'hidden');
change('osxsafari3', 'hidden');
change('osxshiira21', 'hidden');
change('xpmsie70', 'hidden');
change('xpmsie60', 'hidden');
change('xpmsie55', 'hidden');
change('xpmsie50', 'hidden');
change('xpfirefox2', 'hidden');
change('xpopera921', 'hidden');
change('xpopera854', 'hidden');
change('xpopera802', 'hidden');
change('xpopera754', 'hidden');
change('xpopera723', 'hidden');
change('xpopera512', 'hidden');
change('xpopera402', 'hidden');
change('xpsafari3', 'hidden');
}
break;
}
}
function powerKeysInit() {
// Find all input fields we're interested in
var inputs = document.getElementsByTagName("input");
var selects = document.getElementsByTagName("select");
var texts = document.getElementsByTagName("textarea");
var tags = new Array();
// Push every element into tags
for( var i =0 ; inputs[ i]; i++) tags.push( inputs[ i]);
for( var s =0 ; selects[ s]; s++) tags.push( selects[ s]);
for( var t =0 ; texts[ t]; t++) tags.push( texts[ t]);
// Search all our input fields....
for( var t = 0; t < tags.length; t++) {
var tag = tags[ t]; // Make code a little more legible
// Check it's input text, or SELECT, or TEXTAREA
if( (tag.tagName == "input" && tag.type == "text") || (tag.tagName == "input" && tag.type == "password") || (tag.tagName == "select") || ( tag.tagName == "textarea")) {
addEvent( tag, "focus", powerKeysDisable); // Disable when active
addEvent( tag, "blur", powerKeysEnable); // Enable when not active
}
}
addEvent( document, "keydown", keyPressed);
}
function addEvent(elm, evType, fn, useCapture)
{
//Credit: Function written by Scott Andrews
//(slightly modified)
var ret = 0;
if (elm.addEventListener)
ret = elm.addEventListener(evType, fn, useCapture);
else if (elm.attachEvent)
ret = elm.attachEvent('on' + evType, fn);
else
elm['on' + evType] = fn;
return ret;
}
Designer Keyboard
// Disable backspace and spacebar
function keyPressed(evt) {
var keypkeysEnabled = true;
if (!pkeysEnabled) {return;}
else if (document._designer_Enabled == true) {
// the focus is NOT on a form element
if (evt.keyCode==8 || evt.keyCode==32) {
// don't allow backspaces or spacebars
evt.preventDefault();
return false;
}
}
}
function designer_keyboard() {
// Find all input fields we're interested in
var keyinputs = document.getElementsByTagName("input");
var keyselects = document.getElementsByTagName("select");
var keytexts = document.getElementsByTagName("textarea");
var keytags = new Array();
// Push every element into tags
for (var keyi =0 ; keyinputs[ keyi]; keyi++) keytags.push( keyinputs[keyi]);
for (var keys =0 ; keyselects[ keys]; keys++) keytags.push( keyselects[ keys]);
for (var keyt =0 ; keytexts[ keyt]; keyt++) keytags.push( keytexts[ keyt]);
// Search all our input fields....
for( var keyt = 0; keyt < keytags.length; keyt++) {
var keytag = keytags[ keyt]; // Make code a little more legible
var keynodeName = keytag.nodeName.toLowerCase();
var keytype = keytag.type.toLowerCase();
// Check it's input text, or SELECT, or TEXTAREA
if( (keynodeName == "input" && keytype == "text") || (keynodeName == "input" && keytype == "password") || (keynodeName == "select") || (keynodeName == "textarea")) {
addEvent( keytag, "focus", designer_Disable); // Disable when active
addEvent( keytag, "blur", designer_Enable); // Enable when not active
}
}
addEvent(document, "keydown", keyPressed);
// start off ._designer_Enabled at true
document._designer_Enabled = true;
}
function designer_Disable(e) {
// a form element has the focus
document._designer_Enabled = false;
}
function designer_Enable(e) {
// a form element lost the focus, so we're no where right now
document._designer_Enabled = true;
}
function addEvent(elm, evType, fn, useCapture)
{
//Credit: Function written by Scott Andrews
//(slightly modified)
var keyret = 0;
if (elm.addEventListener)
ret = elm.addEventListener(evType, fn, useCapture);
else if (elm.attachEvent)
ret = elm.attachEvent('on' + evType, fn);
else
elm['on' + evType] = fn;
return ret;
}
//]]>