mirror of
https://github.com/gyurix1968/guacamole-client.git
synced 2025-09-06 13:17:41 +00:00
Better classname assignment for keycaps, restructure of keyboard (keyboard/key-container(s)/key/cap(s)).
This commit is contained in:
@@ -172,14 +172,14 @@ Guacamole.OnScreenKeyboard = function(url) {
|
|||||||
// Create element
|
// Create element
|
||||||
var key_element = document.createElement("div");
|
var key_element = document.createElement("div");
|
||||||
key_element.className = "guacamole-keyboard-key";
|
key_element.className = "guacamole-keyboard-key";
|
||||||
|
|
||||||
// Create cap element
|
// Position keys using container div
|
||||||
var cap_element = document.createElement("div");
|
var key_container_element = document.createElement("div");
|
||||||
cap_element.className = "guacamole-keyboard-cap";
|
key_container_element.className = "guacamole-keyboard-key-container";
|
||||||
key_element.appendChild(cap_element);
|
key_container_element.appendChild(key_element);
|
||||||
|
|
||||||
// Create key
|
// Create key
|
||||||
var key = new Guacamole.OnScreenKeyboard.Key(cap_element);
|
var key = new Guacamole.OnScreenKeyboard.Key();
|
||||||
|
|
||||||
// Set key size
|
// Set key size
|
||||||
var key_units = 1;
|
var key_units = 1;
|
||||||
@@ -204,6 +204,12 @@ Guacamole.OnScreenKeyboard = function(url) {
|
|||||||
var cap = new Guacamole.OnScreenKeyboard.Cap(content,
|
var cap = new Guacamole.OnScreenKeyboard.Cap(content,
|
||||||
keysym ? keysym.value : null);
|
keysym ? keysym.value : null);
|
||||||
|
|
||||||
|
// Create cap element
|
||||||
|
var cap_element = document.createElement("div");
|
||||||
|
cap_element.className = "guacamole-keyboard-cap";
|
||||||
|
cap_element.textContent = content;
|
||||||
|
key_element.appendChild(cap_element);
|
||||||
|
|
||||||
// Get modifier value
|
// Get modifier value
|
||||||
var modifierValue = 0;
|
var modifierValue = 0;
|
||||||
if (required) {
|
if (required) {
|
||||||
@@ -213,6 +219,7 @@ Guacamole.OnScreenKeyboard = function(url) {
|
|||||||
var requirements = required.value.split(",");
|
var requirements = required.value.split(",");
|
||||||
for (var i=0; i<requirements.length; i++) {
|
for (var i=0; i<requirements.length; i++) {
|
||||||
modifierValue |= getModifier(requirements[i]);
|
modifierValue |= getModifier(requirements[i]);
|
||||||
|
cap_element.className += " guacamole-keyboard-requires-" + requirements[i];
|
||||||
}
|
}
|
||||||
|
|
||||||
}
|
}
|
||||||
@@ -224,11 +231,8 @@ Guacamole.OnScreenKeyboard = function(url) {
|
|||||||
}
|
}
|
||||||
});
|
});
|
||||||
|
|
||||||
scaledElements.push(new ScaledElement(key_element, key_units, 1, true));
|
scaledElements.push(new ScaledElement(key_container_element, key_units, 1, true));
|
||||||
row.appendChild(key_element);
|
row.appendChild(key_container_element);
|
||||||
|
|
||||||
// Initialize key
|
|
||||||
key.select(0);
|
|
||||||
|
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -318,7 +322,7 @@ Guacamole.OnScreenKeyboard = function(url) {
|
|||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
Guacamole.OnScreenKeyboard.Key = function(element) {
|
Guacamole.OnScreenKeyboard.Key = function() {
|
||||||
|
|
||||||
var key = this;
|
var key = this;
|
||||||
|
|
||||||
@@ -354,7 +358,6 @@ Guacamole.OnScreenKeyboard.Key = function(element) {
|
|||||||
this.select = function(modifier) {
|
this.select = function(modifier) {
|
||||||
|
|
||||||
key.currentCap = key.caps[modifier & key.modifierMask];
|
key.currentCap = key.caps[modifier & key.modifierMask];
|
||||||
element.textContent = key.currentCap.text;
|
|
||||||
|
|
||||||
};
|
};
|
||||||
|
|
||||||
|
Reference in New Issue
Block a user