Windows에는 모든 응용 프로그램에 대한 응용 프로그램별 단축키를 정의할 수 있는 AutoHotkey라는 도구가 있습니다. 저는 Linux에서도 동일한 작업을 수행하고 싶습니다. 언어 전환을 위한 전역 단축키(CapsLock이며 시스템 설정에 정의되어 있음)가 있고 특정 응용 프로그램에서 이 단축키를 무시하고 싶습니다.
저는 GNOME에서 Ubuntu 14.04를 사용하고 있습니다. 일부 전역 단축키를 구현하기 위해 xbindkeys를 사용하고 있습니다.
답변1
충분히 발전된 창 관리자(Sawfish, Awesome, Fvwm 등 포함)를 사용하면 각 창에 대한 키 바인딩을 정의할 수 있습니다. 이는 Metacity 및 Mutter(Gnome 기본값)와 같은 기본 창 관리자의 경우에는 해당되지 않습니다. 일부 기본 기본 설정을 고수하기보다는 원하는 대로 창 환경을 구성하려면 고급 창 관리자를 사용하는 것이 좋습니다. Sawfish 및 Fvwm을 포함한 많은 창 관리자에서 Gnome을 계속 사용할 수 있습니다.
창 관리자와 독립적으로 키 바인딩을 설정하려면 이 목적으로 설계된 프로그램을 사용할 수 있습니다.xbindkeys. 활성 창에 따라 다르게 동작하는 셸 스크립트를 키 바인딩으로 호출하도록 하세요. 당신은 그것을 사용할 수 있습니다xdotool
활성 창 ID(및 제목)를 검색한 다음 다음과 같은 다른 도구를 사용하십시오.xprop
창에 대한 자세한 정보를 얻으십시오.
#!/bin/sh
wid="$(xdotool getactivewindow)"
class="$(xprop -id "$wid" '$1' WM_CLASS)"; class="${class#*\"}"; class="${class%\"}"
case "$class" in
Myapp) do something;;
*) do something else;;
esac