2010-07-24 14 views
8

Kakao çok sayıda tam sayı maskesine ve koduna sahiptir. Örneğin, üstbilgilerde açıkça tanımlanmış ve belgelenmiş olan NSCommandKeyMask veya NSF1FunctionKey.Kakaoda tamsayı ve diğer maskeleri çözme

Ancak, bazı arkaik olabilir ve erişilebilirlik özniteliklerine erişirken, örneğin glif (AXMenuItemCmdGlyph) almak için, F1 (0xf704) veya F2 (hex) temsil eden 112 gibi bir tamsayı numarası verilir. : 0xf705).

Maskeler ve kodlarla uğraşmanın kolay bir yolu var mı? Belki de 111'i ilgili hex unicode 0xf704'e dönüştürebiliyor mu? Yani NSEvent.h NSF1FunctionKey 0xf704 için haritalar, ancak NSF1FunctionKey veya 0xf704 için 111 için bir eşleme var mı?

+0

Anlamıyorum, neden bunları sabit olarak kullanmıyorsunuz? – Maz

+0

Herhangi bir başlık dosyasında sabitleri bulabilirsem. Örneğin F1-F13 anahtarı için sabitler var mı? Kendi sabitlerimi haritalayabilirdim, ancak varsa tekerleği yeniden icat etmek istemezdim. – the979kid

+0

Kullandığınız hangi üstbilgi/sınıfları belirtirseniz, bir göz atacağım. Benim tahminim, FUNCTION_KEY_ONE gibi bir taban sabiti var ve F2 almak için FUNCTION_KEY_ONE + 1 Sadece sorunuza baktığımızda, durum böyle görünüyor. – Maz

cevap

1

Bu öğenin glif yerine menü öğesinin anahtar eşdeğeri için Unicode karakterini istiyorsanız, kAXMenuItemCmdGlyphAttribute yerine the kAXMenuItemCmdCharAttribute attribute almayı deneyin.

+0

Ben glifleri arıyorum, kAXMenuItemCmdCharAttribute karakter dışındaki herhangi bir şey için null verecektir. Her neyse, bulduğum en iyi şey temel olarak AXMenuItemCmdGlyph özniteliği tarafından verilen glif kodlarının (111, vb.) Unicode/NSEvent.h eşdeğerlerine eşlenmesidir. Gliflere verilen erişilebilirlik kodları ile NSEvent.h'de verildiği gibi bu glifler için gerçek unicodes arasında herhangi bir ilişki yoktur. Birisi daha iyi bilirse, lütfen paylaşın. – the979kid

+0

Karakter sabitleriyle karşılaştırmak istiyorsanız, karakterleri arıyorsunuz demektir. Bir "CmdGlyph" olan ancak bir "CmdChar" olmayan bir menü öğesi örneği nedir? –

+0

Örnek: "Force Quit…" glif 27'ye sahip ve char boş. Bununla birlikte, "kVK_Escape" e karşılık gelen bir sanal anahtar koduna (53) sahiptir. –