Git Product home page Git Product logo

Comments (11)

lpslp avatar lpslp commented on May 24, 2024 1

попал сюда в поисках решения как выключить появившиеся в win10 1909 новые хоткеи
сам использую вот это http://forum.tordex.com/thread-3130.html это плагин именно освобождает hotkey - тоесть это значит что это в принципе возможно. Автор плагина на запросы доделать плагин для новых хоткеев - не отвечает.
Но суть в том это это возможно осталось упросить автора обновить плаг ин или найти что то такое же, вот какие именно можно освободить http://prntscr.com/puezen

from nncron.

VoidVolker avatar VoidVolker commented on May 24, 2024

Скореее всего никак, кроме хакинга виндовых бинарников. Максимум, чем может помочь ннкрон тут - это просто обрабатывать такой хоткей. Я этот вопрос решил следующим образом:

  1. Используя ремаппер клавиш заменил код клавиши Win на код другой (в реестре есть ScanCodeMap), не используемой клавиши - например 0xB3.
  2. Сделал свои хоткеи в кронтабе ннкрона, которые обрабатывают данный код.

И все - проблемы нет вообще.

#( Пример_задачи
\ NoActive
SingleInstance
WatchHotKey: "{0xB3}"  \ 179
Action:
\ ... что-то делаем
)#

from nncron.

Kristinita avatar Kristinita commented on May 24, 2024

@VoidVolker Что-то совсем непросто... Можно реальные примеры? Например, назначить хоткей с использованием клавиши Win в Sublime Text.

Для ремаппинга я пользовался программой SharpKeys. Заменил сканкод Left Win на сканкод любой неиспользуемой клавиши, например, 0x0074. (0xB3 не нашёл).

0x0074

→ перезагрузил компьютер.

Теперь клавиша Win не работает нигде, хоткеи в программах (а их много), в которых содержится Win, не работают.

Что дальше, не очень понимаю. Придётся каждый хоткей, содержащий Win, писать в кронтабе, а не в Sublime Text?

Спасибо.

from nncron.

VoidVolker avatar VoidVolker commented on May 24, 2024

Теперь клавиша Win не работает нигде, хоткеи в программах (а их много), в которых содержится Win, не работают.

Само собой - ведь теперь данной клавиши на клавиатуре как бы вообще не существует. Поэтому все хоткеи привязанные к ней не будут работать.

Судя по всему в ST используется фиксированный список хоткеев в виде их имен - так что использовать нестандартные коды там нельзя (возможно существует какой-нибудь плагин). Таким образом надо либо ловить хоткей в ннкроне и генерировать им новый хоткей для ST (что не удобно), либо заменить код на код используемой клавиши и сделать хоткей в ST на эту кнопку.
Например F12-F20 - эти в спике есть: http://docs.sublimetext.info/en/latest/reference/key_bindings.html#bindable-keys

from nncron.

Kristinita avatar Kristinita commented on May 24, 2024

@VoidVolker , я могу клавише Win сделать сканкод как у условной клавиши F20 (на моей клавиатуре отсутствует). Но Win — служебная клавиша, F20 — нет. Сочетание Win+K будет работать, F20+K — нет. Это можно как-нибудь разрешить?

Спасибо.

from nncron.

VoidVolker avatar VoidVolker commented on May 24, 2024

Сделать задачу в ннкроне, которая делает то же самое, что Win+K, либо отправляет хоткей Win+K.

from nncron.

VoidVolker avatar VoidVolker commented on May 24, 2024

Судя по всему - это программа, при этом для работы ей нужно быть запущеной. Из этого я могу предположить только то, что она тупо вешает хук на хоткей и не даёт ему пройти дальше. Или еще как-то вклинивается в работу хуков на клавиши. А хоткеи, вроде бы, работают от проводника или в его контексте.
А просто отключение системных хоткеев не помогает? Типа такого: https://windowsreport.com/disable-keyboard-shortcuts-windows-8/

from nncron.

lpslp avatar lpslp commented on May 24, 2024

А просто отключение системных хоткеев не помогает? Типа такого:

все это пробовал естественно. я с этим вопросом провел много часов в гугле - к примеру конкретно сюда я вообще попал из https://superuser.com/ ....

что она тупо вешает хук на хоткей и не даёт ему пройти дальше.

фишка в том что у него получилось их ОСВОБОДИТЬ - тоесть их (сочетания) можно использовать в любых программах. ТОесть обычно как это выглядит к примеру в https://sourceforge.net/projects/hotkeyp/ вешается глоабльный хук и можно назначить хоткеи только в программе где висит хук - а тут он этим плагином делает эти хоткеи доступные во всех программах!

from nncron.

VoidVolker avatar VoidVolker commented on May 24, 2024

Хуки собираются в список и у установленного хука есть возможность как запуска следующего хука так и его игнорирование. Т.о., чисто теоретически можно сделать следующее:

  1. Остановить процесс, который ставит хук с системным хоткеем
  2. Поставить первый хук
  3. Запустить процесс, который ставит свой хук на системный хоткей
  4. Поставить второй хук

И т.о., первым хуком игнорировать запуск следующего хука и запускать второй хук, чтобы очередь не прерывалась. Но это все чисто теоретически - т.к. надо закапываться в системную документацию и выяснять можно ли так сделать на практике. Возможно, та программа как-то внедряется в системные процессы или внедряет какой-то свой код куда-то. Были бы исходники и/или описание процесса - можно было бы легко сделать. А без них - только заниматься реверсингом приложения. На хабре есть много статей тему реверсинга - думаю можно обратиться к авторам этих статей за помощью с реверсингом данной утилиты с целью разобраться с этим механизмом.

from nncron.

Kristinita avatar Kristinita commented on May 24, 2024

@lpslp , отпишитесь, пожалуйста, если нашли какое-нибудь приемлемое решение.

Спасибо.

from nncron.

lpslp avatar lpslp commented on May 24, 2024

@lpslp , отпишитесь, пожалуйста, если нашли какое-нибудь приемлемое решение.

Спасибо.

эм, решения нет.
Именно высвободить все микрософтовские бинды я не нашел как (дополнительно к True Launch Bar - она высвобождает и так не мало...). Как переназначить уже писал выше про https://sourceforge.net/projects/hotkeyp/ - она может перебить любой микрософтовый хоткей.
В общем читайте выше - кроме того что написал ничего не добавилось - я еще тогда достаточно много времени потратил на поиски...

from nncron.

Related Issues (6)

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.