29 lines
974 B
JavaScript
29 lines
974 B
JavaScript
import * as KeyboardUI from 'resource:///org/gnome/shell/ui/keyboard.js';
|
|
|
|
function _modifiedLastDeviceIsTouchscreen() {
|
|
return false;
|
|
}
|
|
|
|
export default class BlockCaribou {
|
|
constructor() {
|
|
this._originalLastDeviceIsTouchscreen = null;
|
|
}
|
|
|
|
enable() {
|
|
this._originalLastDeviceIsTouchscreen = KeyboardUI.KeyboardManager.prototype._lastDeviceIsTouchscreen;
|
|
KeyboardUI.KeyboardManager.prototype._lastDeviceIsTouchscreen = _modifiedLastDeviceIsTouchscreen;
|
|
}
|
|
|
|
/*
|
|
* In the lock screen, the on-screen keyboard (Caribou) also pops up by
|
|
* default. So this extension requires the "unlock-dialog" session mode to
|
|
* block Caribou in lock screen.
|
|
*/
|
|
disable() {
|
|
if (this._originalLastDeviceIsTouchscreen !== null) {
|
|
KeyboardUI.KeyboardManager.prototype._lastDeviceIsTouchscreen = this._originalLastDeviceIsTouchscreen;
|
|
this._originalLastDeviceIsTouchscreen = null;
|
|
}
|
|
}
|
|
}
|