아니요, 모든 바로 가기가 저장된 단일 장소는 없습니다. 응용 프로그램은 원하는 위치에 구성을 저장하도록 선택할 수 있습니다.
즉, 대부분 응용 프로그램 수준 (Firefox의 경우 복사 Ctrl-C)과 창 관리자 수준 (데스크톱을 표시하는 Win + D)의 두 가지 수준으로보고 있습니다. Compiz는 gconf를 사용하여 구성을 저장합니다 .
응용 프로그램의 경우 툴킷별로 대략적으로 나눌 수 있습니다. 즉, GTK 앱도 gconf를 사용합니다.
키보드에서 누른 키 조합이 연결된 대상으로 지정되도록하려면 Ubuntu에이 위치를 저장해야합니까?
좀 빠지는. 초점을 맞춘 응용 프로그램은 X 키보드 이벤트에서 처음 시작되지만 그렇지 않은 경우 다른 응용 프로그램, 즉 창 관리자로 버블 링됩니다. 따라서 Alt + F4를 캡처하고 창을 닫지 않는 게임을 할 수 있습니다 (제임스 타운을 막으십시오!). 중앙 이벤트 라우터로 이동 한 다음 일부 데이터베이스와 일치하여 대상으로 라우팅한다고 생각합니다. 그것은 병을 마주 치는 것과 비슷합니다. 통과, 원한다면 미어를 가져 가거나 나머지를 통과하거나 모든 것을 가지고 탐욕하십시오.
Linux / FOSS 환경 (당신은 눈치 채 셨을 것이다)은 꽤 민주적이며, 모든 애플리케이션이 단일 중앙 키보드 구성 저장소에 동의하도록하는 것은 바보의 일이다. 우선, 오래 전에 작성되었지만 알지 못하는 유지 관리되지 않은 응용 프로그램이 있습니다.
업데이트 : 주제에 대한 Xlib 문서에 따르면 :
소스 창부터 X 서버는 이러한 이벤트에 관심이있는 것으로 클라이언트가 지정한 첫 번째 창을 찾을 때까지 창 계층 구조를 검색합니다. 개입하는 창 중 하나에 이벤트 유형의 생성을 금지하도록 전파 금지 마스크가 설정되어 있으면 해당 유형의 이벤트가 억제됩니다.
또한,
KeyPress, KeyRelease, ButtonPress 및 ButtonRelease 이벤트를 수신하려면 창의 이벤트 마스크 속성에서 KeyPressMask, KeyReleaseMask, ButtonPressMask 및 ButtonReleaseMask 비트를 설정하십시오.
그리고 당신은 비활성화 전파에 속성을 설정할 수 있습니다 .
문제는 X에게 어떤 키를 수신 할지 알려주지 않기 때문에 응용 프로그램이 어떤 키를 수신하는지 (실제로 할 수 있음) 또는 실제로 키를 전파 할 것인지 여부를 선험적으로 말할 수는 없습니다. 듣고 있어요 따라서 X 레벨에서는 중앙 레지스트리가 불가능하므로 툴킷 레벨에서 수행해야합니다. 실제로는 불가능합니다. :디