SimpleSwitcher icon indicating copy to clipboard operation
SimpleSwitcher copied to clipboard

Add applications exceptions

Open DavisR-GitHub opened this issue 2 years ago • 18 comments

Hi, It would be great to add ability to exclude some applications, especially full screen games, from layout switching. Let SimpleSwither to totally ignore all key pressing while these apps are in focus.

DavisR-GitHub avatar Aug 22 '22 12:08 DavisR-GitHub

Hello. Actually, such a setting already exists, but is only available from conf.json: disableInPrograms

This setting does not turn off the direct language change (e.g. set layout), only the revert functions (I do not know if this behavior is correct or not, I am waiting for feedback).

Also, this setting only works on the file name of program (not the full path).

Addition to the gui is planned in the future.

Also, I want setting "disable in full screen program", but I do not know how difficult to do this.

Aegel5 avatar Aug 22 '22 21:08 Aegel5

Что исправлять:

  • Подумать на тему настройки "disable in full screen program"
  • добавить настройку в gui: добавить процесс/окно в исключение.
  • процесс проверяется по окончанию full_path. Т.е. можно добавлять имя файла, файл + папка или full_path.

Aegel5 avatar Aug 22 '22 21:08 Aegel5

Great, Actually I have the problem with pressing CapLock in a game - it freezes on a second. This problem is absent if SimpleSwither is not running. CapsLock was remapped to F24. I will try JSON setting, if it work - it would be totally enough for me.

DavisR-GitHub avatar Aug 23 '22 08:08 DavisR-GitHub

Report it to the game author. Perhaps, they are not prepared for keys rarely seen in the wild.

AnrDaemon avatar Oct 01 '22 16:10 AnrDaemon

Adding game' exe to ignored list fixed the problem. I do not think they should change something in the game, it works fine without SimpleSwitcher

DavisR-GitHub avatar Oct 02 '22 07:10 DavisR-GitHub

This setting does not turn off the direct language change (e.g. set layout)

А циклическая смена? Раньше работала, в новых версиях не пашет больше, переключение раскладки тормозит игры.

Mikanoshi avatar Jan 31 '23 03:01 Mikanoshi

Как именно переключаете раскладку?

AnrDaemon avatar Jan 31 '23 07:01 AnrDaemon

LCtrl #up

Mikanoshi avatar Jan 31 '23 15:01 Mikanoshi

А вы не допускаете, что это игра неадекватно реагирует на посторонние хуки? У меня на Caps=F24 переключение висит, никаких проблем кроме проблем с RMS и Synergy.

AnrDaemon avatar Jan 31 '23 19:01 AnrDaemon

Конечно игре не нравится, для этого исключения и существуют.

Mikanoshi avatar Jan 31 '23 19:01 Mikanoshi

Пропуск приложения: https://github.com/Aegel5/SimpleSwitcher/blob/master/SimpleSwitcher/src/Hooker.cpp#L990 идёт после циклического переключения: https://github.com/Aegel5/SimpleSwitcher/blob/master/SimpleSwitcher/src/Hooker.cpp#L960 потому и не пашут исключения

Mikanoshi avatar Jan 31 '23 20:01 Mikanoshi

Пропуск приложения: https://github.com/Aegel5/SimpleSwitcher/blob/master/SimpleSwitcher/src/Hooker.cpp#L990 идёт после циклического переключения: https://github.com/Aegel5/SimpleSwitcher/blob/master/SimpleSwitcher/src/Hooker.cpp#L960 потому и не пашут исключения

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

Aegel5 avatar Feb 02 '23 10:02 Aegel5

This setting does not turn off the direct language change (e.g. set layout)

А циклическая смена? Раньше работала, в новых версиях не пашет больше, переключение раскладки тормозит игры.

А раньше получается нормально переключала раскладку? Хорошо бы понять, в какой версии перестала переключать. А что за игра?

Aegel5 avatar Feb 02 '23 11:02 Aegel5

А раньше получается нормально переключала раскладку?

Раскладку всегда переключало, но всегда давало тормоза в момент переключения. А в 4.0.1.2 исключения уже не работали. Я думал в исключениях и так полностью не работает программа... Почти во всех играх тормоза даёт, у меня 55 exe в списке)) Что за альтернативный способ?

Я перенёс условие и скомпилил (64-битную кстати, почему в релизе только 32?), вроде всё что мне надо пашет. В исключениях ещё проблема с регистром, нужно либо при запуске приводить список к нижнему регистру, либо делать регистронезависимый поиск.

Mikanoshi avatar Feb 02 '23 16:02 Mikanoshi

Почти во всех играх тормоза даёт, у меня 55 exe в списке))

Странно, у меня только в одной наглухо глушило игру. А так проблем не было.

Что за альтернативный способ?

Типа эмуляция aнажатия alt+shift, но я посмотрел, он не доделан и вообще по ходу глючный функционал, тестить нужно

Я перенёс условие и скомпилил (64-битную кстати, почему в релизе только 32?), вроде всё что мне надо пашет.

32 вроде норм работает, в чем смысл 64? Две версии не охота в архив добавлять, а некоторые еще на win7 32 сидят.

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

поправлю, плюс хочу добавить возможно указывать префиксы и постфиксы для пути, типа c:/games или /mygame/game.exe ну или может шаблоны какие-нибудь.

Раскладку всегда переключало, но всегда давало тормоза в момент переключения. А в 4.0.1.2 исключения уже не работали.

Ясно, тогда полностью нужно отключать функционал для исключений.

Aegel5 avatar Feb 02 '23 19:02 Aegel5

в чем смысл 64?

хз... стильно, модно, молодёжно))

тогда полностью нужно отключать функционал для исключений

Чтобы выгружать SS каждый раз при запуске игры? Удобно)) Может просто исправить?)

Mikanoshi avatar Feb 02 '23 19:02 Mikanoshi

Чтобы выгружать SS каждый раз при запуске игры? Удобно)) Может просто исправить?)

Не так выразился)) Имел ввиду полностью отключать функционал SS для прог в иключениях

Aegel5 avatar Feb 02 '23 19:02 Aegel5

Выкатил fix в последней версии.

Aegel5 avatar Feb 06 '23 08:02 Aegel5