A new Onscreen Keyboard built using GNOME JS
Note: Binary files aren't shown on the web site. To see all files, please download the extension zipfile.
EGO-X-004 warning
extensions should avoid synchronous file IO in shell code
Shell code should avoid synchronous file IO APIs like `GLib.file_get_contents()` and `Gio.File.load_contents()`.
extension.js:190
GLib.file_get_contents(this.path + '/physicalLayouts.json')
extension.js:370
GLib.file_get_contents(keycodesPath)
EGO-P-004 error
GSettings schema XML filename must match schema id
GSettings schema filename must match `<schema-id>.gschema.xml`.
schemas/org.gnome.shell.extensions.gjsosk.gschema.xml
id='org.gnome.shell.extensions.gjsosk.indicator' path='/org/gnome/shell/extensions/gjsosk/indicator/'
EGO-L-002 warning
objects created by extension should be destroyed in disable()
Objects assigned in `enable()` are missing matching `.destroy()` calls in `disable()` or its helper methods.
extension.js:615
this.nonDragBlocker = new Clutter.Actor()
extension.js:1185
keyBtn
extension.js:1180
keyBtn
EGO-L-005 warning
owned object references should be released in disable()
Owned references that are cleaned up in `disable()` should also be released with `null` or `undefined`.
extension.js:615
this.nonDragBlocker = new Clutter.Actor()
EGO-L-003 warning
signals connected by extension should be disconnected in disable()
Signals assigned in `enable()` are missing matching disconnect calls in `disable()` or its helper methods.
extension.js:436
this._indicator.connect("button-press-event", () => {
this._toggleKeyboard();
return Clutter.EVENT_STOP;
})
extension.js:494
this._indicator.connect("button-press-event", () => this._toggleKeyboard())
extension.js:440
this._indicator.connect("touch-event", (_actor, event) => {
if (event.type() == Clutter.EventType.TOUCH_END) {
this._toggleKeyboard();
return Clutter.EVENT_STOP;
}
return Clutter.EVENT_PROPAGATE;
extension.js:495
this._indicator.connect("touch-event", (_actor, event) => {
if (event.type() == Clutter.EventType.TOUCH_END) this._toggleKeyboard()
})
extension.js:58
item.connect('activate', () => this.settings.set_int("enable-tap-gesture", num))
extension.js:1547
item.connect("button-press-event", () => pressEv("mouse"))
extension.js:1548
item.connect("button-release-event", releaseEv)
extension.js:1424
item.connect("destroy", () => {
if (item.button_pressed !== null) {
clearTimeout(item.button_pressed)
item.button_pressed == null
}
if (item.button_repeat !== null) {
clearInterval
extension.js:1549
item.connect("touch-event", () => {
if (Clutter.get_current_event().type() == Clutter.EventType.TOUCH_BEGIN) {
pressEv("touch")
} else if (Clutter.get_current_event().type() == Clutter.EventType.TOUCH_END || Clutter.get_current_event().
extension.js:663
oskEdgeDragAction.connect('activated', () => {
this.open(true);
this.openedFromButton = true;
this.closedFromButton = false;
this.gestureInProgress = false;
})
extension.js:702
oskEdgeDragAction.connect('cancel', () => {
if (this.gestureInProgress) {
this.close()
this.openedFromButton = false;
this.closedFromButton = true;
}
th
extension.js:696
oskEdgeDragAction.connect('end', () => {
this.open(true);
this.openedFromButton = true;
this.closedFromButton = false;
this.gestureInProgress = false;
})
extension.js:669
oskEdgeDragAction.connect('gesture-cancel', () => {
if (this.gestureInProgress) {
this.close()
this.openedFromButton = false;
this.closedFromButton = true;
}
extension.js:693
oskEdgeDragAction.connect('may-recognize', () => {
return Shell.ActionMode.ALL & ~Shell.ActionMode.LOCK_SCREEN & Main.actionMode;
})
extension.js:678
oskEdgeDragAction.connect('progress', (_action, progress) => {
if (!this.gestureInProgress)
this.open(false)
this.setOpenState(Math.min(Math.max(0, (progress / (side % 2 == 0 ? this.box.height : this.box.width)) * 100),
extension.js:711
oskEdgeDragAction.connect('progress', (_action, progress) => {
if (!this.gestureInProgress)
this.open(false)
this.setOpenState(Math.min(Math.max(0, (progress / (side % 2 == 0 ? this.box.height : this.box.width)) * 100),
EGO-L-004 warning
main loop sources should be removed in disable()
Main loop sources assigned in `enable()` are missing matching removals in `disable()` or its helper methods.
extension.js:231
this.waitRefresh = setTimeout(refresh, 1000)
| Version | Status |
|---|---|
| 52 | Active |
| 51 | Active |
| 50 | Active |
| 49 | Active |
| 48 | Inactive |
| 47 | Inactive |
| 46 | Inactive |
| 45 | Inactive |
| 44 | Inactive |
| 43 | Inactive |
| 42 | Inactive |
| 41 | Inactive |
| 40 | Inactive |
| 39 | Inactive |
| 38 | Inactive |
| 37 | Inactive |
| 36 | Rejected |
| 35 | Rejected |
| 34 | Rejected |
| 33 | Rejected |
| 32 | Inactive |
| 31 | Inactive |
| 30 | Rejected |
| 29 | Inactive |
| 28 | Inactive |
| 27 | Inactive |
| 26 | Inactive |
| 25 | Inactive |
| 24 | Rejected |
| 23 | Rejected |
| 22 | Rejected |
| 21 | Rejected |
| 20 | Inactive |
| 19 | Inactive |
| 18 | Inactive |
| 17 | Inactive |
| 16 | Inactive |
| 15 | Inactive |
| 14 | Rejected |
| 13 | Rejected |
| 12 | Rejected |
| 11 | Rejected |
| 10 | Inactive |
| 9 | Rejected |
| 8 | Rejected |
| 7 | Rejected |
| 6 | Rejected |
| 5 | Rejected |
| 4 | Inactive |
| 3 | Rejected |
| 2 | Rejected |
| 1 | Rejected |