「Xamarin.MacでGlobal Event Monitorを使いキー入力を監視する」の版間の差分
ページの作成:「==概要== Xamarin.Macで開発している社内アプリで確実に動くファンクションキーを実現したい。 何も考えずに単純にキー入...」 |
|||
| 10行目: | 10行目: | ||
NSEventにNSEvent.AddGlobalMonitorForEventsMatchingMaskを叩いて監視対象のイベントの種類と発生時に呼ばれるイベントハンドラを設定するだけである。 | NSEventにNSEvent.AddGlobalMonitorForEventsMatchingMaskを叩いて監視対象のイベントの種類と発生時に呼ばれるイベントハンドラを設定するだけである。 | ||
非常に簡単。 | 非常に簡単。 | ||
当初はNSEventMask.KeyDownで実装してみたが、これは文字キーの入力でしかイベントが発生せず、[[Shiftキー]]や[[Ctrlキー]]などを単品で押した場合には何も起こらない。 | |||
実装中のアプリでは[[Ctrlキー]]単品を[[ショートカットキー]]としており上記ではダメであった。 | |||
そこでNSEventMask.FlagsChangedに変えて実装してみたところ[[Ctrlキー]]単品でも上手くいった。 | |||
<source lang="csharp"> | <source lang="csharp"> | ||
public override void DidFinishLaunching(NSNotification notification) | public override void DidFinishLaunching(NSNotification notification) | ||