GithubHelp home page GithubHelp logo

При смене языка вместо значений клавиш отправляются сочетания клавиш about aspia HOT 11 CLOSED

3-50 avatar 3-50 commented on May 21, 2024
При смене языка вместо значений клавиш отправляются сочетания клавиш

from aspia.

Comments (11)

dchapyshev avatar dchapyshev commented on May 21, 2024 1

Это исправлено после 1.0.1, соответственно, проверять в 1.0.1 не имеет смысла.

from aspia.

dchapyshev avatar dchapyshev commented on May 21, 2024

По сети передаются коды клавиш клавиатуры, они не зависят от языка. Непосредственно с переключением раскладки это не может быть связано.
Скорее всего проблема с тем, что на удаленный компьютер была отправлена команда нажатия кнопки, а команда отпустить ее не была отправлена :)
Было бы неплохо научиться воспроизводить ситуацию.
В любом случае, буду разбираться.

from aspia.

3-50 avatar 3-50 commented on May 21, 2024

Научился, но с нюансами, некоторые баги (в том числе вышеописанный) наблюдались после переключения раскладки через сочетание клавиш "win+space" (альтернативное переключение языка с Windows 7 что ли), например:
Клиент: Английский; Cервер: Английский
Клиент: win+space
Клиент: Русский; Cервер: Английский
Выбираем любой файл на сервере, жмём на f2, пишем "ert", на сервер отправляется сочетание клавиш "win+e", "win+r".
Жмем кнопку "Windows", появляется меню Пуск на клиенте, затем на сервере, выбираем любой файл на сервере, жмём на f2, пишем "ert", файл переименовывается на "ert".

from aspia.

dchapyshev avatar dchapyshev commented on May 21, 2024

Я сделал отпускание всех нажатых кнопок клавиатуры при потере окном фокуса ввода.
Попробуйте потестировать версию из master. Скачать собранные файлы можно тут (файлы подписаны электронной подписью). Просто замените существующие файлы программы, на те, которые в архиве. Файл aspia_host_notifier.exe при этом можно удалить, он больше не используется.
UPD: Можете не тестировать, у меня получилось воспроизвести баг, он есть. Буду исправлять.

from aspia.

3-50 avatar 3-50 commented on May 21, 2024

Хорошо, а то я как раз пытаюсь осуществить вышеописанное, и как-то не очень получается. Простая замена по факту ничего не дает, наоборот ошибки появляются, варианты с "--remove-service", тоже ни к чему не привели, а до других вариантов еще не успел добраться.

from aspia.

dchapyshev avatar dchapyshev commented on May 21, 2024

Проблема отлично воспроизводится: просто нажимаем Win+Space. Нажатие Win ловится отлично, а при нажатии Space Windows перехватывает комбинацию и приложение не получает уведомления о том, что кнопка отпущена. Соответственно, кнопка Win остается в нажатом состоянии и никак узнать о том, что она была отпущена мы не можем.
Единственное решение, которое мне приходит в голову - это установка хука клавиатуры, т.е. перехват всех нажатий кнопок пока приложение имеет фокус ввода и снятие хука, когда фокус переводится в другое окно.
Попробую реализовать, отпишусь.

from aspia.

dchapyshev avatar dchapyshev commented on May 21, 2024

Сделал перехват всех системных комбинаций (которые возможно сделать). Теперь весь ввод при активном окне отправляется в удаленный компьютер, включая Win, Win+Space, Alt+Tab и т.д.
Просьба протестировать, ссылка прежняя.

from aspia.

3-50 avatar 3-50 commented on May 21, 2024

На первый взгляд отрабатывает как и должно. Спасибо.
Раз уж тут обсуждаем проблему с сочетанием клавиш, то добавлю следующий момент:
Подключился к серверу, хочу отправить произвольное сочетание клавиш (ctrl+shift+esc), что в релизных версиях не отлавливал сочетания, что в этой. Баг?
И кажется на еще один наткнулся, сейчас осмыслю, что произошло и в чем дело может быть.

Можно, пожалуйста, версии мастера каким-либо образом выделять? Например, 1.0.1.3?

upd осмыслил. слегка в тупике, создам новую проблему.

from aspia.

dchapyshev avatar dchapyshev commented on May 21, 2024

Это родной элемент ввода последовательностей клавиш из Qt. К сожалению, у него хватает недостатков. Думаю либо сделать для него перехват всех комбинаций, как в управлении рабочим столом, либо ComboBox'ы в ручным выбором комбинации.
Версии master пока не думал, как выделять. Они официально не распространяются, соответственно придумывать для них какие-то обозначения мало смысла.

from aspia.

3-50 avatar 3-50 commented on May 21, 2024

Ок, вам не сложно, при возможности, добавить следующие сочетания:
win+r
ctrl-shift-esc
?

Первый вариант, кажется, более userfriendly.

С одной стороны да, а с другой для бета тестеров это лишнее подтверждение, что обновилось всё корректно и на нужную версию. Вот, например, у меня сейчас на 11 компьютерах стоит Aspia, на двух мастер от сегодня, на третьем мастер от вчера, при этом при обновлении на мастер непонятно, обновилась версия или нет, да и разделять где какой мастер стоит слегка утомительно.

Нормально то, что при переключении раскладки через сочетание клавиш, на локальном компьютере отображение языка не меняется?

from aspia.

3-50 avatar 3-50 commented on May 21, 2024

На 1.0.1 обнаружил, что простое нажатие на клиенте (Windows 10 x64) на английскую букву P соответствует сочетанию клавиш Win-P на сервере (Windows 7 x64).

from aspia.

Related Issues (20)

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. 📊📈🎉

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google ❤️ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.