2

В Ubuntu/Gnome можно ли имитировать ALT+TAB с помощью одного альтернативного нажатия клавиши?

Я хотел бы имитировать ALT+TAB одним нажатием клавиши (предпочтительно клавишей контекстного меню) на моей клавиатуре.

Чтобы симулировать это правильно, он должен действовать так, как будто сначала была нажата клавиша ALT, а затем клавиша TAB после небольшой задержки - с другой стороны, если вы имитируете нажатие обеих клавиш в одно и то же время, я полагаю меню навигации по задачам не отображается.

Кто-нибудь знает, как смоделировать это на Ubuntu?

ОБНОВИТЬ:

Следуя совету Джона Т., я установил monodevelop, скачал IronAHK, запустил "make install all" и получил эту ошибку:

/mainline/Scripting/IACodeProvider.cs(100,32): error CS1502: 
The best overloaded method match for
`System.CodeDom.Compiler.CompilerError.CompilerError(string, int, int, 
string, string)' has some invalid arguments /usr/lib/mono/gac/System
/2.0.0.0__b77a5c561934e089/System.dll (Location of the symbol related 
to previous error) /mainline/Scripting/IACodeProvider.cs(100,32): 
error CS1503: Argument `#4' cannot convert `int' expression to type `string'

6 ответов6

2

Если вы используете compiz в качестве менеджера окон, т.е. если вы включили визуальные эффекты, просто установите compizconfig-settings-manager . Запустите диспетчер настроек через System -> Preferences -> CompizConfig Settings Manager . Теперь найдите настройки для модуля Application Switcher и вы можете назначить любое нажатие клавиши по своему вкусу командам Next и Previous Window .

1

Поскольку вы не используете Compiz, вы должны проверить свои параметры в разделе System -> Preferences -> Keyboard Shortcuts . Раздел « Window Management » содержит как минимум две записи, которые могут быть здесь полезны: Move between windows, using a popup menu и Move between windows immediately . Может быть, вы можете назначить одну комбинацию клавиш для одного из них.

1

Новый ответ

Я возился около часа или около того, чтобы найти решение, но я в тупике. Мне удалось сделать макрос, который выполняет Alt+Tab, а затем отправляет дополнительную вкладку каждые две секунды ... Но я понятия не имею, как прекратить работу сценария, когда с вас хватит. (Вам нужно только нажать кнопку один раз, чтобы начать)

Мне интересно, может ли какой-нибудь гуру из макросов /Linux создать второй макрос или скрипт, который может прервать воспроизведение макроса по запросу - это просто работает, когда вы нажимаете одну клавишу и отпускаете.

В Ubuntu начните с перехода к терминалу и введите:

sudo apt-get install xmacro

(Сейчас я не лучший парень в Linux, но я не знаю, почему я не смог найти это в менеджере пакетов synaptic, но мне пришлось набирать его с терминала).

Далее, сценарий, который я сделал (сохранить это где-то, я назвал его test.macro в моем домашнем каталоге)

KeyStrPress Alt_L

Затем скопируйте и вставьте следующее столько раз, сколько хотите:

KeyStrPress Tab
KeyStrRelease Tab
Delay 2

Чтобы запустить это, вам нужно набрать следующее (из того места, где сохранен макрос):

cat test.macro | xmacroplay ":0.0"

Я создал псевдоним / горячую клавишу для вышеуказанной команды.

Опять же, это не решение, но, надеюсь, отправная точка. Я подошел близко, но, потратив много времени, я не могу найти твердое решение. Извините, но, надеюсь, это приблизит вас.


СТАРЫЙ ОТВЕТ

Насколько я знаю, это невозможно.

Я посмотрел в различных конфигурационных файлах, но не могу найти хороший способ для репликации Alt+Tab из-за того, как он работает.

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

То, что я рекомендую вам сделать, и я могу посмотреть на него для вас, если вы хотите, это написать макрос, который автоматически, при нажатии одной клавиши, выполняет Alt+Tab, а затем отправляет другую вкладку каждые пару секунд. Отпускание просто релизы на приложение в настоящее время выбрано

1

Не совсем то, что вы ищете, но может помочь вашему RSI? Я использую Superswitcher (http://code.google.com/p/superswitcher/), чтобы дополнить Metacity Alt-Tab по умолчанию. При нажатии клавиши "Windows" на моей клавиатуре (клавиша "Super" в жаргоне суперсвитчера) появляется список задач. Перемещение по списку осуществляется с помощью клавиш "Вверх" и "Вниз", их также можно выбрать щелчком мыши. Циклическое переключение происходит через все окна в текущем рабочем пространстве в фиксированном порядке (порядок, в котором они отображаются на панели задач).

Казалось, альфа-версия и не поддерживается, но 64-битный .deb (с 2007 года) работает на моем 9.04 x86_64.

1

Используйте IronAHK, это полная перезапись AutoHotkey, которая работает под совместимостью Mono для Mac и Linux (поставляется со скриптом сборки).

Что касается кода:

Numpad1::
Send {Alt Down}
Sleep, 1000
Send {Tab}
Loop
{
   GetKeyState, state, Numpad1, P
   if state = U
      break
   Sleep, 1000
   Send {Tab}
}
Send {Alt Up}
return

это установит номер 1 на вашей цифровой клавиатуре для отправки последовательности Alt-Tab с задержкой в 1 секунду. Не стесняйтесь изменять код по своему вкусу!

1

Создайте скрипт, который повторно привязывает назначенный ключ к:

  1. Запустить скрипт (Alt+Tab)
  2. Переместить вниз по строке приложения (вкладка)

Всё ещё ищете ответ? Посмотрите другие вопросы с метками .