Refactor: XVNC_BUTTONS numbers correspond to X button numbers
This commit is contained in:
parent
7f0d08d4d3
commit
39856f8ee8
|
|
@ -274,6 +274,9 @@ const UI = {
|
||||||
return mouseButtonMapper;
|
return mouseButtonMapper;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
mouseButtonMapper.set(0, XVNC_BUTTONS.LEFT_BUTTON);
|
||||||
|
mouseButtonMapper.set(1, XVNC_BUTTONS.MIDDLE_BUTTON);
|
||||||
|
mouseButtonMapper.set(2, XVNC_BUTTONS.RIGHT_BUTTON);
|
||||||
mouseButtonMapper.set(3, XVNC_BUTTONS.BACK_BUTTON);
|
mouseButtonMapper.set(3, XVNC_BUTTONS.BACK_BUTTON);
|
||||||
mouseButtonMapper.set(4, XVNC_BUTTONS.FORWARD_BUTTON);
|
mouseButtonMapper.set(4, XVNC_BUTTONS.FORWARD_BUTTON);
|
||||||
WebUtil.writeSetting("mouseButtonMapper", mouseButtonMapper.dump());
|
WebUtil.writeSetting("mouseButtonMapper", mouseButtonMapper.dump());
|
||||||
|
|
|
||||||
|
|
@ -1,15 +1,19 @@
|
||||||
export const XVNC_BUTTONS = {
|
export const XVNC_BUTTONS = {
|
||||||
LEFT_BUTTON: 0,
|
LEFT_BUTTON: 1,
|
||||||
MIDDLE_BUTTON: 1,
|
MIDDLE_BUTTON: 2,
|
||||||
RIGHT_BUTTON: 2,
|
RIGHT_BUTTON: 3,
|
||||||
TURN_SCROLL_WHEEL_UP: 3,
|
TURN_SCROLL_WHEEL_UP: 4,
|
||||||
TURN_SCROLL_WHEEL_DOWN: 4,
|
TURN_SCROLL_WHEEL_DOWN: 5,
|
||||||
PUSH_SCROLL_WHEEL_LEFT: 5,
|
PUSH_SCROLL_WHEEL_LEFT: 6,
|
||||||
PUSH_SCROLL_WHEEL_RIGHT: 6,
|
PUSH_SCROLL_WHEEL_RIGHT: 7,
|
||||||
BACK_BUTTON: 7,
|
BACK_BUTTON: 8,
|
||||||
FORWARD_BUTTON: 8
|
FORWARD_BUTTON: 9
|
||||||
};
|
};
|
||||||
|
|
||||||
|
export function xvncButtonToMask(xvncButton) {
|
||||||
|
return 1 << (xvncButton - 1);
|
||||||
|
}
|
||||||
|
|
||||||
export default class MouseButtonMapper {
|
export default class MouseButtonMapper {
|
||||||
constructor() {
|
constructor() {
|
||||||
this.map = new Map();
|
this.map = new Map();
|
||||||
|
|
|
||||||
|
|
@ -26,7 +26,7 @@ import DES from "./des.js";
|
||||||
import KeyTable from "./input/keysym.js";
|
import KeyTable from "./input/keysym.js";
|
||||||
import XtScancode from "./input/xtscancodes.js";
|
import XtScancode from "./input/xtscancodes.js";
|
||||||
import { encodings } from "./encodings.js";
|
import { encodings } from "./encodings.js";
|
||||||
import MouseButtonMapper from "./mousebuttonmapper.js";
|
import { MouseButtonMapper, xvncButtonToMask } from "./mousebuttonmapper.js";
|
||||||
|
|
||||||
import RawDecoder from "./decoders/raw.js";
|
import RawDecoder from "./decoders/raw.js";
|
||||||
import CopyRectDecoder from "./decoders/copyrect.js";
|
import CopyRectDecoder from "./decoders/copyrect.js";
|
||||||
|
|
@ -1578,11 +1578,11 @@ export default class RFB extends EventTargetMixin {
|
||||||
this.checkLocalClipboard();
|
this.checkLocalClipboard();
|
||||||
|
|
||||||
this._handleMouseButton(pos.x, pos.y,
|
this._handleMouseButton(pos.x, pos.y,
|
||||||
true, 1 << mappedButton);
|
true, xvncButtonToMask(mappedButton));
|
||||||
break;
|
break;
|
||||||
case 'mouseup':
|
case 'mouseup':
|
||||||
this._handleMouseButton(pos.x, pos.y,
|
this._handleMouseButton(pos.x, pos.y,
|
||||||
false, 1 << mappedButton);
|
false, xvncButtonToMask(mappedButton));
|
||||||
break;
|
break;
|
||||||
case 'mousemove':
|
case 'mousemove':
|
||||||
this._handleMouseMove(pos.x, pos.y);
|
this._handleMouseMove(pos.x, pos.y);
|
||||||
|
|
|
||||||
Loading…
Reference in New Issue