1

Тема: AHK: Переназначение кнопок

Добрый день! Помогите, пожалуйста, новичку с переназначением кнопок. Дело в том, что на днях я купил новую мышку с дополнительными кнопками, а драйверы от ее производителя (Genius) мне крайне не понравились. Захотев сохранить заявленный производителем функционал кнопок, наткнулся на этот замечательный AutoHotKey.
Итак,


#SingleInstance Force
#NoEnv
;#NoTrayIcon

;-------------------------------------------------------------------------------
XButton1::
	; Какой вид переключателя окошек используем. Возможные значения:
	;	"TaskSwitcherWnd"			;alt+ctrl+tab
	;	"Flip3D"					;win+ctrl+tab
	; Защиты от дурака нет
	WindowsSwitcher( "TaskSwitcherWnd" )
return

;-------------------------------------------------------------------------------
XButton2::
	; Открываем поисковик и если какой-то текст выделен, то ищем его
	SearchSelectedText()
return



;===============================================================================
; Реализация
;===============================================================================
WindowsSwitcher( ByRef switcher_type_ )
{
	ifWinExist % "ahk_class " switcher_type_
	{
		Send {Esc}		
	}
	else	
	{	
		Send % (switcher_type_ = "TaskSwitcherWnd") ? "!^{Tab}" : "#^{Tab}"
	}
}

;-------------------------------------------------------------------------------
SearchSelectedText()
{
	;AutoTrim Off
	old_clipboard_	:= ClipboardAll
	Send ^c
	ClipWait, 1
	text_			:= Clipboard
	Clipboard		:= old_clipboard_
	old_clipboard_	:= ""
	Run % "http://www.nigma.ru/index.php?s=" text_
}

Собственно суть вопроса вот в чем: можно ли вместо громозкого WindowsSwitcher() сделать что-то в духе


switcher_type_ = 0
XButton1:: %switcher_type_% ? !^{Tab} : #^{Tab}

Ну и конечно я был бы рад услышать ваши всевозможные замечания, все-таки это мой первый опыт.

2

Re: AHK: Переназначение кнопок

XButton1::Send, % (WinExist("ahk_class TaskSwitcherWnd") ? "!":"#")"^{Tab}"

3

Re: AHK: Переназначение кнопок

Ну, я имел ввиду, можно ли так сделать с помощью синтаксиса встроенного переназначения, без Send, но уже сам разобрался, что это, вообще говоря, одно и то же. Спасибо.