2015-02-17 13 views
6

SMC tuşları için bir referans var mı? Apple'ın SMC Anahtarları için Açıklama

Bu http://www.parhelia.ch/blog/statics/k3_keys.html

bulundu ama tam değil.

Sıcaklık sensörleri ile ilgili tuşlarla ilgileniyorum.

bir MacMini üzerinde Mesela ben sıcaklık için bu anahtarları olsun:

TA0P TC0P TCSC TM0S 
TA0p TC0c TCSc TM0p 
TA1P TC0d TCTD TMBS 
TA1p TC0p TCXC TP0P 
TC0C TC1C TCXc TP0p 
TC0D TC1c TI0P TPCD 
TC0E TCFC TI0p TPCd 
TC0F TCGC TI1P TW0P 
TC0G TCGc TI1p TW0p 
TC0J TCPG TM0P Tp0C 

cevap

9

Güncelleme:

Şimdi SMC ve muhtemelen o yerine kullanması gereken diğer yararlı sistem bilgilerini erişim için bir çerçeveye sahip f SMC'ye kendiniz girmek için kod yazarak: SystemInfoKit.


Herkesin daha fazla ayrıntıya ihtiyacı olması durumunda eski yanıt aşağıdadır.

// All SMC temperature, voltage, current, and power keys 

// Set up keys and human-readable names for keys 
smcTempKeys = [[NSArray alloc] initWithObjects: @"TCXC", @"TCXc", @"TC0P", @"TC0H", @"TC0D", @"TC0E", @"TC0F", @"TC1C", @"TC2C", @"TC3C", @"TC4C", @"TC5C", @"TC6C", @"TC7C", @"TC8C", @"TCAH", @"TCAD", @"TC1P", @"TC1H", @"TC1D", @"TC1E", @"TC1F", @"TCBH", @"TCBD", @"TCSC", @"TCSc", @"TCSA", @"TCGC", @"TCGc", @"TG0P", @"TG0D", @"TG1D", @"TG0H", @"TG1H", @"Ts0S", @"TM0P", @"TM1P", @"TM8P", @"TM9P", @"TM0S", @"TM1S", @"TM8S", @"TM9S", @"TN0D", @"TN0P", @"TN1P", @"TN0C", @"TN0H", @"TP0D", @"TPCD", @"TP0P", @"TA0P", @"TA1P", @"Th0H", @"Th1H", @"Th2H", @"Tm0P", @"Tp0P", @"Ts0P", @"Tb0P", @"TL0P", @"TW0P", @"TH0P", @"TH1P", @"TH2P", @"TH3P", @"TO0P", @"Tp0P", @"Tp0C", @"TB0T", @"TB1T", @"TB2T", @"TB3T", @"Tp1P", @"Tp1C", @"Tp2P", @"Tp3P", @"Tp4P", @"Tp5P", @"TS0C", @"TA0S", @"TA1S", @"TA2S", @"TA3S", nil]; 

smcVoltageKeys = [[NSArray alloc] initWithObjects:@"VC0C", @"VC1C", @"VC2C", @"VC3C", @"VC4C", @"VC5C", @"VC6C", @"VC7C", @"VV1R", @"VG0C", @"VM0R", @"VN1R", @"VN0C", @"VD0R", @"VD5R", @"VP0R", @"Vp0C", @"VV2S", @"VR3R", @"VV1S", @"VH05", @"VV9S", @"VD2R", @"VV7S", @"VV3S", @"VV8S", @"VeES", @"VBAT", @"Vb0R", nil]; 

smcCurrentKeys = [[NSArray alloc] initWithObjects:@"IC0C", @"IC1C", @"IC2C", @"IC0R", @"IC5R", @"IC8R", @"IC0G", @"IC0M", @"IG0C", @"IM0C", @"IM0R", @"IN0C", @"ID0R", @"ID5R", @"IO0R", @"IB0R", @"IPBR", nil]; 

smcPowerKeys = [[NSArray alloc] initWithObjects:@"PC0C", @"PC1C", @"PC2C", @"PC3C", @"PC4C", @"PC5C", @"PC6C", @"PC7C", @"PCPC", @"PCPG", @"PCPD", @"PCTR", @"PCPL", @"PC1R", @"PC5R", @"PGTR", @"PG0R", @"PM0R", @"PN0C", @"PN1R", @"PC0R", @"PD0R", @"PD5R", @"PH02", @"PH05", @"Pp0R", @"PD2R", @"PO0R", @"PBLC", @"PB0R", @"PDTR", @"PSTR", nil]; 

NSMutableDictionary *smcKeyHumanReadableNames = [[NSMutableDictionary alloc] init]; 

[smcKeyHumanReadableNames setValue:@"PECI CPU" forKey:@"TCXC"]; 
[smcKeyHumanReadableNames setValue:@"PECI CPU" forKey:@"TCXc"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1 Proximity" forKey:@"TC0P"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1 Heatsink" forKey:@"TC0H"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1 Package" forKey:@"TC0D"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1" forKey:@"TC0E"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1" forKey:@"TC0F"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 1" forKey:@"TC1C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 2" forKey:@"TC2C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 3" forKey:@"TC3C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 4" forKey:@"TC4C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 5" forKey:@"TC5C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 6" forKey:@"TC6C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 7" forKey:@"TC7C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 8" forKey:@"TC8C"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1 Heatsink Alt." forKey:@"TCAH"]; 
[smcKeyHumanReadableNames setValue:@"CPU 1 Package Alt." forKey:@"TCAD"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2 Proximity" forKey:@"TC1P"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2 Heatsink" forKey:@"TC1H"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2 Package" forKey:@"TC1D"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2" forKey:@"TC1E"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2" forKey:@"TC1F"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2 Heatsink Alt." forKey:@"TCBH"]; 
[smcKeyHumanReadableNames setValue:@"CPU 2 Package Alt." forKey:@"TCBD"]; 

[smcKeyHumanReadableNames setValue:@"PECI SA" forKey:@"TCSC"]; 
[smcKeyHumanReadableNames setValue:@"PECI SA" forKey:@"TCSc"]; 
[smcKeyHumanReadableNames setValue:@"PECI SA" forKey:@"TCSA"]; 

[smcKeyHumanReadableNames setValue:@"PECI GPU" forKey:@"TCGC"]; 
[smcKeyHumanReadableNames setValue:@"PECI GPU" forKey:@"TCGc"]; 
[smcKeyHumanReadableNames setValue:@"GPU Proximity" forKey:@"TG0P"]; 
[smcKeyHumanReadableNames setValue:@"GPU Die" forKey:@"TG0D"]; 
[smcKeyHumanReadableNames setValue:@"GPU Die" forKey:@"TG1D"]; 
[smcKeyHumanReadableNames setValue:@"GPU Heatsink" forKey:@"TG0H"]; 
[smcKeyHumanReadableNames setValue:@"GPU Heatsink" forKey:@"TG1H"]; 

[smcKeyHumanReadableNames setValue:@"Memory Proximity" forKey:@"Ts0S"]; 
[smcKeyHumanReadableNames setValue:@"Mem Bank A1" forKey:@"TM0P"]; 
[smcKeyHumanReadableNames setValue:@"Mem Bank A2" forKey:@"TM1P"]; 
[smcKeyHumanReadableNames setValue:@"Mem Bank B1" forKey:@"TM8P"]; 
[smcKeyHumanReadableNames setValue:@"Mem Bank B2" forKey:@"TM9P"]; 
[smcKeyHumanReadableNames setValue:@"Mem Module A1" forKey:@"TM0S"]; 
[smcKeyHumanReadableNames setValue:@"Mem Module A2" forKey:@"TM1S"]; 
[smcKeyHumanReadableNames setValue:@"Mem Module B1" forKey:@"TM8S"]; 
[smcKeyHumanReadableNames setValue:@"Mem Module B2" forKey:@"TM9S"]; 

[smcKeyHumanReadableNames setValue:@"Northbridge Die" forKey:@"TN0D"]; 
[smcKeyHumanReadableNames setValue:@"Northbridge Proximity 1" forKey:@"TN0P"]; 
[smcKeyHumanReadableNames setValue:@"Northbridge Proximity 2" forKey:@"TN1P"]; 
[smcKeyHumanReadableNames setValue:@"MCH Die" forKey:@"TN0C"]; 
[smcKeyHumanReadableNames setValue:@"MCH Heatsink" forKey:@"TN0H"]; 
[smcKeyHumanReadableNames setValue:@"PCH Die" forKey:@"TP0D"]; 
[smcKeyHumanReadableNames setValue:@"PCH Die" forKey:@"TPCD"]; 
[smcKeyHumanReadableNames setValue:@"PCH Proximity" forKey:@"TP0P"]; 

[smcKeyHumanReadableNames setValue:@"Airflow 1" forKey:@"TA0P"]; 
[smcKeyHumanReadableNames setValue:@"Airflow 2" forKey:@"TA1P"]; 
[smcKeyHumanReadableNames setValue:@"Heatpipe 1" forKey:@"Th0H"]; 
[smcKeyHumanReadableNames setValue:@"Heatpipe 2" forKey:@"Th1H"]; 
[smcKeyHumanReadableNames setValue:@"Heatpipe 3" forKey:@"Th2H"]; 

[smcKeyHumanReadableNames setValue:@"Mainboard Proximity" forKey:@"Tm0P"]; 
[smcKeyHumanReadableNames setValue:@"Powerboard Proximity" forKey:@"Tp0P"]; 
[smcKeyHumanReadableNames setValue:@"Palm Rest" forKey:@"Ts0P"]; 
[smcKeyHumanReadableNames setValue:@"BLC Proximity" forKey:@"Tb0P"]; 

[smcKeyHumanReadableNames setValue:@"LCD Proximity" forKey:@"TL0P"]; 
[smcKeyHumanReadableNames setValue:@"Airport Proximity" forKey:@"TW0P"]; 
[smcKeyHumanReadableNames setValue:@"HDD Bay 1" forKey:@"TH0P"]; 
[smcKeyHumanReadableNames setValue:@"HDD Bay 2" forKey:@"TH1P"]; 
[smcKeyHumanReadableNames setValue:@"HDD Bay 3" forKey:@"TH2P"]; 
[smcKeyHumanReadableNames setValue:@"HDD Bay 4" forKey:@"TH3P"]; 
[smcKeyHumanReadableNames setValue:@"Optical Drive" forKey:@"TO0P"]; 

[smcKeyHumanReadableNames setValue:@"Battery TS_MAX" forKey:@"TB0T"]; 
[smcKeyHumanReadableNames setValue:@"Battery 1" forKey:@"TB1T"]; 
[smcKeyHumanReadableNames setValue:@"Battery 2" forKey:@"TB2T"]; 
[smcKeyHumanReadableNames setValue:@"Battery" forKey:@"TB3T"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 1" forKey:@"Tp0P"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 1 Alt." forKey:@"Tp0C"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 2" forKey:@"Tp1P"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 2 Alt." forKey:@"Tp1C"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 3" forKey:@"Tp2P"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 4" forKey:@"Tp3P"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 5" forKey:@"Tp4P"]; 
[smcKeyHumanReadableNames setValue:@"Power Supply 6" forKey:@"Tp5P"]; 

[smcKeyHumanReadableNames setValue:@"Expansion Slots" forKey:@"TS0C"]; 
[smcKeyHumanReadableNames setValue:@"PCI Slot 1 Pos 1" forKey:@"TA0S"]; 
[smcKeyHumanReadableNames setValue:@"PCI Slot 1 Pos 2" forKey:@"TA1S"]; 
[smcKeyHumanReadableNames setValue:@"PCI Slot 2 Pos 1" forKey:@"TA2S"]; 
[smcKeyHumanReadableNames setValue:@"PCI Slot 2 Pos 2" forKey:@"TA3S"]; 


[smcKeyHumanReadableNames setValue:@"CPU Core 1" forKey:@"VC0C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 2" forKey:@"VC1C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 3" forKey:@"VC2C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 4" forKey:@"VC3C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 5" forKey:@"VC4C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 6" forKey:@"VC5C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 7" forKey:@"VC6C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 8" forKey:@"VC7C"]; 
[smcKeyHumanReadableNames setValue:@"CPU VTT" forKey:@"VV1R"]; 

[smcKeyHumanReadableNames setValue:@"GPU Core" forKey:@"VG0C"]; 

[smcKeyHumanReadableNames setValue:@"Memory" forKey:@"VM0R"]; 

[smcKeyHumanReadableNames setValue:@"PCH" forKey:@"VN1R"]; 
[smcKeyHumanReadableNames setValue:@"MCH" forKey:@"VN0C"]; 

[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"VD0R"]; 
[smcKeyHumanReadableNames setValue:@"Mainboard S5 Rail" forKey:@"VD5R"]; 
[smcKeyHumanReadableNames setValue:@"12V Rail" forKey:@"VP0R"]; 
[smcKeyHumanReadableNames setValue:@"12V Vcc" forKey:@"Vp0C"]; 
[smcKeyHumanReadableNames setValue:@"Main 3V" forKey:@"VV2S"]; 
[smcKeyHumanReadableNames setValue:@"Main 3.3V" forKey:@"VR3R"]; 
[smcKeyHumanReadableNames setValue:@"Main 5V" forKey:@"VV1S"]; 
[smcKeyHumanReadableNames setValue:@"Main 5V" forKey:@"VH05"]; 
[smcKeyHumanReadableNames setValue:@"Main 12V" forKey:@"VV9S"]; 
[smcKeyHumanReadableNames setValue:@"Main 12V" forKey:@"VD2R"]; 
[smcKeyHumanReadableNames setValue:@"Auxiliary 3V" forKey:@"VV7S"]; 
[smcKeyHumanReadableNames setValue:@"Standby 3V" forKey:@"VV3S"]; 
[smcKeyHumanReadableNames setValue:@"Standby 5V" forKey:@"VV8S"]; 
[smcKeyHumanReadableNames setValue:@"PCIe 12V" forKey:@"VeES"]; 

[smcKeyHumanReadableNames setValue:@"Battery" forKey:@"VBAT"]; 
[smcKeyHumanReadableNames setValue:@"CMOS Battery" forKey:@"Vb0R"]; 


[smcKeyHumanReadableNames setValue:@"CPU Core" forKey:@"IC0C"]; 
[smcKeyHumanReadableNames setValue:@"CPU VccIO" forKey:@"IC1C"]; 
[smcKeyHumanReadableNames setValue:@"CPU VccSA" forKey:@"IC2C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Rail" forKey:@"IC0R"]; 
[smcKeyHumanReadableNames setValue:@"CPU DRAM" forKey:@"IC5R"]; 
[smcKeyHumanReadableNames setValue:@"CPU PLL" forKey:@"IC8R"]; 
[smcKeyHumanReadableNames setValue:@"CPU GFX" forKey:@"IC0G"]; 
[smcKeyHumanReadableNames setValue:@"CPU Memory" forKey:@"IC0M"]; 

[smcKeyHumanReadableNames setValue:@"GPU Rail" forKey:@"IG0C"]; 

[smcKeyHumanReadableNames setValue:@"Memory Controller" forKey:@"IM0C"]; 
[smcKeyHumanReadableNames setValue:@"Memory Rail" forKey:@"IM0R"]; 

[smcKeyHumanReadableNames setValue:@"MCH" forKey:@"IN0C"]; 

[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"ID0R"]; 
[smcKeyHumanReadableNames setValue:@"Mainboard S5 Rail" forKey:@"ID5R"]; 
[smcKeyHumanReadableNames setValue:@"Misc. Rail" forKey:@"IO0R"]; 

[smcKeyHumanReadableNames setValue:@"Battery Rail" forKey:@"IB0R"]; 
[smcKeyHumanReadableNames setValue:@"Charger BMON" forKey:@"IPBR"]; 


[smcKeyHumanReadableNames setValue:@"CPU Core 1" forKey:@"PC0C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 2" forKey:@"PC1C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 3" forKey:@"PC2C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 4" forKey:@"PC3C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 5" forKey:@"PC4C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 6" forKey:@"PC5C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 7" forKey:@"PC6C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Core 8" forKey:@"PC7C"]; 
[smcKeyHumanReadableNames setValue:@"CPU Cores" forKey:@"PCPC"]; 
[smcKeyHumanReadableNames setValue:@"CPU GFX" forKey:@"PCPG"]; 
[smcKeyHumanReadableNames setValue:@"CPU DRAM" forKey:@"PCPD"]; 
[smcKeyHumanReadableNames setValue:@"CPU Total" forKey:@"PCTR"]; 
[smcKeyHumanReadableNames setValue:@"CPU Total" forKey:@"PCPL"]; 
[smcKeyHumanReadableNames setValue:@"CPU Rail" forKey:@"PC1R"]; 
[smcKeyHumanReadableNames setValue:@"CPU S0 Rail" forKey:@"PC5R"]; 

[smcKeyHumanReadableNames setValue:@"GPU Total" forKey:@"PGTR"]; 
[smcKeyHumanReadableNames setValue:@"GPU Rail" forKey:@"PG0R"]; 

[smcKeyHumanReadableNames setValue:@"Memory Rail" forKey:@"PM0R"]; 

[smcKeyHumanReadableNames setValue:@"MCH" forKey:@"PN0C"]; 
[smcKeyHumanReadableNames setValue:@"PCH Rail" forKey:@"PN1R"]; 

[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"PC0R"]; 
[smcKeyHumanReadableNames setValue:@"Mainboard S0 Rail" forKey:@"PD0R"]; 
[smcKeyHumanReadableNames setValue:@"Mainboard S5 Rail" forKey:@"PD5R"]; 
[smcKeyHumanReadableNames setValue:@"Main 3.3V Rail" forKey:@"PH02"]; 
[smcKeyHumanReadableNames setValue:@"Main 5V Rail" forKey:@"PH05"]; 
[smcKeyHumanReadableNames setValue:@"12V Rail" forKey:@"Pp0R"]; 
[smcKeyHumanReadableNames setValue:@"Main 12V Rail" forKey:@"PD2R"]; 
[smcKeyHumanReadableNames setValue:@"Misc. Rail" forKey:@"PO0R"]; 
[smcKeyHumanReadableNames setValue:@"Battery Rail" forKey:@"PBLC"]; 
[smcKeyHumanReadableNames setValue:@"Battery Rail" forKey:@"PB0R"]; 

[smcKeyHumanReadableNames setValue:@"DC In Total" forKey:@"PDTR"]; 
[smcKeyHumanReadableNames setValue:@"System Total" forKey:@"PSTR"]; 
+0

Teşekkür ederim. Çok kötü resmen belgelenmiş değiller ... – Paolo

+0

Bunların bir kısmı aslında, yanlışlıkla widget'ın içinde bırakılmış olan iStat Pro'nun kaynak kodundan geldi. –

+0

Evet, bunu ilginç rehberinizde okudum. Mevcut olan tek bilgi Apple'dan gelen sızıntılardan kaynaklanıyor gibi görünüyor. – Paolo

0

Maalesef parhelia.ch listesinde daha komple bir şey yok (% 100 bundan emin, ben seyir yeterince zaman geçirdi değilim. ..)

+0

Ve veri ayrıştırma için:


Here

bu birçok kaynaktan araya Objective-C şeklinde tuşlarının tam listesi ve benim çok gizli deneyler içeren programlı SMC erişen benim kılavuzdur , http://github.com/fmorrow/SMCWrapper – Perceval

+1

bir göz atın Teşekkür ederim, bir göz atacağım. Bu düz C sürümünü kullanarak previuolsy oldu: https://github.com/hholtmann/smcFanControl/tree/master/smc-command – Paolo