Переглянути джерело

Allow XK_Scroll_Lock when LED state isn't supported

Otherwise such clients cannot use Scroll Lock at all, and that is
probably worse than any effects we might get from getting out of sync.
tags/v1.10.90
Pierre Ossman 4 роки тому
джерело
коміт
81e114f29f
2 змінених файлів з 2 додано та 10 видалено
  1. 1
    9
      common/rfb/VNCSConnectionST.cxx
  2. 1
    1
      vncviewer/CConn.cxx

+ 1
- 9
common/rfb/VNCSConnectionST.cxx Переглянути файл

// Avoid lock keys if we don't know the server state // Avoid lock keys if we don't know the server state
if ((server->getLEDState() == ledUnknown) && if ((server->getLEDState() == ledUnknown) &&
((keysym == XK_Caps_Lock) || ((keysym == XK_Caps_Lock) ||
(keysym == XK_Num_Lock) ||
(keysym == XK_Scroll_Lock))) {
(keysym == XK_Num_Lock))) {
vlog.debug("Ignoring lock key (e.g. caps lock)"); vlog.debug("Ignoring lock key (e.g. caps lock)");
return; return;
} }
// Lock key heuristics // Lock key heuristics
// (only for clients that do not support the LED state extension) // (only for clients that do not support the LED state extension)
if (!client.supportsLEDState()) { if (!client.supportsLEDState()) {
// Always ignore ScrollLock as we don't have a heuristic
// for that
if (keysym == XK_Scroll_Lock) {
vlog.debug("Ignoring lock key (e.g. caps lock)");
return;
}

if (down && (server->getLEDState() != ledUnknown)) { if (down && (server->getLEDState() != ledUnknown)) {
// CapsLock synchronisation heuristic // CapsLock synchronisation heuristic
// (this assumes standard interaction between CapsLock the Shift // (this assumes standard interaction between CapsLock the Shift

+ 1
- 1
vncviewer/CConn.cxx Переглянути файл



supportsLocalCursor = true; supportsLocalCursor = true;
supportsDesktopResize = true; supportsDesktopResize = true;
supportsLEDState = true;
supportsLEDState = false;


if (customCompressLevel) if (customCompressLevel)
setCompressLevel(::compressLevel); setCompressLevel(::compressLevel);

Завантаження…
Відмінити
Зберегти