2016-01-08 23:13:25 +00:00
|
|
|
# globalSortcut
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2016-04-30 16:53:21 +00:00
|
|
|
> 어플리케이션에 키보드 포커스가 없을 때도 키보드 이벤트를 받을 수 있도록 합니다.
|
|
|
|
|
2016-01-08 23:13:25 +00:00
|
|
|
`globalShortcut` 모듈은 운영체제의 전역 키보드 단축키를 등록/해제 하는 방법을
|
2015-11-19 19:46:05 +00:00
|
|
|
제공합니다. 이 모듈을 사용하여 사용자가 다양한 작업을 편하게 할 수 있도록 단축키를
|
|
|
|
정의 할 수 있습니다.
|
2015-09-01 00:57:43 +00:00
|
|
|
|
2015-11-19 19:46:05 +00:00
|
|
|
**참고:** 등록된 단축키는 어플리케이션이 백그라운드로 작동(창이 포커스 되지 않음) 할
|
2016-04-30 16:53:21 +00:00
|
|
|
때도 계속해서 작동합니다. 이 모듈은 `app` 모듈의 `ready` 이벤트가 발생하기 전까지
|
|
|
|
사용할 수 없습니다.
|
2015-06-25 17:32:51 +00:00
|
|
|
|
|
|
|
```javascript
|
2015-11-16 03:15:21 +00:00
|
|
|
const electron = require('electron');
|
|
|
|
const app = electron.app;
|
|
|
|
const globalShortcut = electron.globalShortcut;
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-07-12 05:54:55 +00:00
|
|
|
app.on('ready', function() {
|
2016-04-03 15:56:07 +00:00
|
|
|
// 'CommandOrControl+X' 단축키를 리스너에 등록합니다.
|
|
|
|
var ret = globalShortcut.register('CommandOrControl+X', function() {
|
|
|
|
console.log('CommandOrControl+X is pressed');
|
2015-10-10 06:10:34 +00:00
|
|
|
});
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-07-14 23:30:02 +00:00
|
|
|
if (!ret) {
|
|
|
|
console.log('registration failed');
|
|
|
|
}
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-07-14 23:30:02 +00:00
|
|
|
// 단축키가 등록되었는지 확인합니다.
|
2016-04-03 15:56:07 +00:00
|
|
|
console.log(globalShortcut.isRegistered('CommandOrControl+X'));
|
2015-07-12 05:54:55 +00:00
|
|
|
});
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-07-12 05:54:55 +00:00
|
|
|
app.on('will-quit', function() {
|
2015-07-14 23:30:02 +00:00
|
|
|
// 단축키의 등록을 해제합니다.
|
2016-04-03 15:56:07 +00:00
|
|
|
globalShortcut.unregister('CommandOrControl+X');
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-07-14 23:30:02 +00:00
|
|
|
// 모든 단축키의 등록을 해제합니다.
|
|
|
|
globalShortcut.unregisterAll();
|
2015-07-12 05:54:55 +00:00
|
|
|
});
|
2015-06-25 17:32:51 +00:00
|
|
|
```
|
|
|
|
|
2015-09-01 00:57:43 +00:00
|
|
|
## Methods
|
|
|
|
|
2016-01-08 23:13:25 +00:00
|
|
|
`globalShortcut` 모듈은 다음과 같은 메서드를 가지고 있습니다:
|
2015-09-01 00:57:43 +00:00
|
|
|
|
|
|
|
### `globalShortcut.register(accelerator, callback)`
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-08-25 13:28:27 +00:00
|
|
|
* `accelerator` [Accelerator](accelerator.md)
|
2015-06-25 17:32:51 +00:00
|
|
|
* `callback` Function
|
|
|
|
|
2016-01-08 23:13:25 +00:00
|
|
|
`accelerator`의 전역 단축키를 등록합니다. 유저로부터 등록된 단축키가 눌렸을 경우
|
|
|
|
`callback` 함수가 호출됩니다.
|
2015-11-29 14:03:31 +00:00
|
|
|
|
2016-01-08 23:13:25 +00:00
|
|
|
accelerator가 이미 다른 어플리케이션에서 사용 중일 경우, 이 작업은 조용히 실패합니다.
|
|
|
|
이러한 동작은 어플리케이션이 전역 키보드 단축키를 가지고 충돌이 일어나지 않도록 하기
|
|
|
|
위해 운영체제에 의해 예정된 동작입니다.
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-09-01 00:57:43 +00:00
|
|
|
### `globalShortcut.isRegistered(accelerator)`
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-08-25 13:28:27 +00:00
|
|
|
* `accelerator` [Accelerator](accelerator.md)
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2016-01-08 23:13:25 +00:00
|
|
|
지정된 `accelerator` 단축키가 등록되었는지 여부를 확인합니다.
|
|
|
|
|
|
|
|
Accelerator가 이미 다른 어플리케이션에서 사용 중일 경우, 여전히 `false`를 반환합니다.
|
|
|
|
이러한 동작은 어플리케이션이 전역 키보드 단축키를 가지고 충돌이 일어나지 않도록 하기
|
|
|
|
위해 운영체제에 의해 예정된 동작입니다.
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-09-01 00:57:43 +00:00
|
|
|
### `globalShortcut.unregister(accelerator)`
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-08-25 13:28:27 +00:00
|
|
|
* `accelerator` [Accelerator](accelerator.md)
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-09-01 00:57:43 +00:00
|
|
|
`accelerator`에 해당하는 전역 단축키를 등록 해제합니다.
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-09-01 00:57:43 +00:00
|
|
|
### `globalShortcut.unregisterAll()`
|
2015-06-25 17:32:51 +00:00
|
|
|
|
2015-10-10 06:10:34 +00:00
|
|
|
모든 전역 단축키의 등록을 해제합니다.
|