gpm: add a gpmMouse option for setMouse.

This commit is contained in:
Christopher Jeffrey 2015-02-01 07:10:17 -08:00
parent 87a3d2f288
commit f13f1242b2
1 changed files with 10 additions and 5 deletions

View File

@ -633,7 +633,7 @@ Program.prototype._bindMouse = function(s, buf) {
} }
}; };
/* gpm support for linux vc */ // gpm support for linux vc
Program.prototype.enableGpm = function() { Program.prototype.enableGpm = function() {
var self = this; var self = this;
var gpmclient = require('./gpmclient') var gpmclient = require('./gpmclient')
@ -2797,7 +2797,7 @@ Program.prototype.enableMouse = function() {
options.x10Mouse = v; options.x10Mouse = v;
break; break;
case 'GPMMOUSE': case 'GPMMOUSE':
this.enableGpm(); options.gpmMouse = v;
break; break;
case 'CELLMOTION': case 'CELLMOTION':
options.cellMotion = v; options.cellMotion = v;
@ -2839,9 +2839,9 @@ Program.prototype.enableMouse = function() {
} }
if (this.term('linux')) { if (this.term('linux')) {
this.enableGpm();
return this.setMouse({ return this.setMouse({
vt200Mouse: true vt200Mouse: true,
gpmMouse: true
}, true); }, true);
} }
@ -2865,7 +2865,6 @@ Program.prototype.disableMouse = function() {
obj[key] = false; obj[key] = false;
}); });
this.disableGpm();
return this.setMouse(obj, false); return this.setMouse(obj, false);
}; };
@ -2962,6 +2961,12 @@ Program.prototype.setMouse = function(opt, enable) {
if (opt.urxvtMouse) this.setMode('?1015'); if (opt.urxvtMouse) this.setMode('?1015');
else this.resetMode('?1015'); else this.resetMode('?1015');
} }
// gpm mouse
if (opt.gpmMouse != null) {
if (opt.gpmMouse) this.enableGpm();
else this.disableGpm();
}
}; };
// CSI Ps ; Ps r // CSI Ps ; Ps r