/ / Сенсорний екран Windows 7 + Гойдалка Java = Події з затримкою миші - java, swing, windows-7, touch

Сенсорний екран Windows 7 + Java Swing = затримки миші події - java, swing, windows-7, touch

Я розробляю додаток Swing на Java. Програма повинна запускатися на спеціалізованих машинах з сенсорним екраном Windows 7, і, наскільки я знаю, ця програма повинна бути єдиним, що працює на них при нормальній роботі.

Я помітив, що сенсорний екран Windows 7Інтерфейс має цю річ, де він буде стримувати події в мусоу. Завдяки жесту "натискання та утримування правої кнопки" правою кнопкою миші, Windows 7 фактично не надсилає програму подія вниз мишкою до:

  • користувач "торкається" (піднімає палець від дотику, після чого надсилаються і вниз, і вгору)
  • рухає їх пальцем (в цей момент клацання стає перетягуванням)
  • або час вимкнення правого клацання правою кнопкою миші (приблизно через 5-6 секунд)

Тривіально, це означає, що кнопки не виглядаютьнатискання на програму, поки подія миші не буде надіслана (і ніколи не малюйте пригнічене швидким натисканням). Але останнім часом, більш серйозно, це означає функціональність, яка вимагає натискання і утримання не можу відбуваються без великої кількості плутанини середньому користувачеві.

На даний момент розвитку вона є далеко занадто пізно, щоб повернутись і почати з нуля одну з багатьох бібліотек дотиків, запропонованих з інших питань. (Вони потребують повторної переробки всієї програми в їх Ієрархія компонентів, і це просто не можливо. Тенденція, кодована для використання подій миші, повинна бути перекодована за допомогою сенсорних подій, і нам дійсно не потрібні мультитач ...

Так, я намагався просто вимкнути жест правого клацання мишкою та утримуванням. На жаль, це просто вимикає малювання кола, що вказує жестом правого клацання навколо пальця та вогнем наступного клацання правою кнопкою миші. Він НЕ усуває основну проблему: затримку миші вниз подія на до шість секунд.

Мій питання: Чи є спосіб:

  • В ідеалі вкажіть Windows, що моя програмає готовим до дотику додатком, тож він негайно надсилає події (але, я думаю, все-таки надсилає події миші замість сенсорних подій)? Я бачу, що вбудована м'яка клавіатура працює правильно, здається. Я просто хочу, щоб моя програма Java зробила те саме.
  • Вимкнути затримку цілком на комп’ютері, але все-таки забезпечити основний сенсорний функціонал?
  • Потенційно щось таке просто це питання, яке, здається, задає одне й те саме явище, а на Java?

Відповіді:

1 для відповіді № 1

Зазвичай такий тип поведінки контролюєтьсядрайвер сенсорного пристрою, встановлений на пристрої. У всіх виробників сенсорних пристроїв, яких я бачив, є програми на панелі керування, які дозволяють налаштувати сенсорну поведінку. Так, наприклад, ви можете сказати драйверу негайно надіслати натискання миші на отримання дотику, а не ненадовго затримуватися, щоб запобігти випадковому дотику від ініціювання події введення.