我正在構建一個Cocoa鍵盤管理器,但我無法理解如何正確截取涉及箭頭的標誌組合。箭頭和CMD的修改標誌
例如,我可以在交換機內截獲每個標誌組合:
NSUInteger flags = [theEvent modifierFlags] & NSDeviceIndependentModifierFlagsMask;
switch(flags){
case: NSCommandKeyMask
//Command pressed
break;
case NSCommandKeyMask|NSControlKeyMask
//Command + Control
break;
}
但我不知道如何攔截帶箭頭的組合! 我得到那個箭頭使用NSNumericPadKeyMask
作爲面膜...但如果寫的情況下,像這樣的事情發生:
case: NSCommandKeyMask|NSNumericPadKeyMask
//Command + arrow ... It doesn't work!
int keycode = ...
break;
我該如何處理這個問題和攔截組合,帶箭頭?
你確定嗎?當我按下一個箭頭和一個修飾符(如CMD)時,修飾符標誌會改變(並且它不會僅報告CMD,而是報告CMD加NumericPadKeyMask)。 你可以添加一些代碼來解釋你的理論嗎?我如何攔截箭頭和CMD組合? – MatterGoal
添加工作示例代碼來解釋我的「理論」。 –