Ja ipak savetujem da ponovo pitaš profesora na šta je mislio, da li na
postavljanje neke već postojeće tastature ili pravljenje neke proizvoljne.
Takođe pitaj da li se to odnosi samo na tvoj program, ili na bilo koji program.
Sve što mi je poznato o tastaturama je sledeće:
Promena aktivne tastature se ostvaruje API pozivom:
LoadKeyboardLayout()
Identifikator aktivne tastature se dobija API pozivom:
GetKeyboardLayoutName()
Primer:
Code:
char KLID[KL_NAMELENGTH+1] = {0};
GetKeyboardLayoutName( KLID );
// upotrebi string KLID
Konstante od interesa (za LoadKeyboardLayout) možeš pogledati ovde:
http://msdn.microsoft.com/libr...lt.asp?url=/library/en-us/intl...
Koji ID broj je u uoptrebi aktivne kodne strane, možeš pogledati ovako:
Code:
// by kiklop74
std::string GetSysLanguage(void)
{
char buffer[5] = {};
int ret = ::GetLocaleInfo( LOCALE_SYSTEM_DEFAULT, LOCALE_IDEFAULTLANGUAGE , buffer, 5 );
return std::string( buffer );
}
...ili brljanjem po Registry-ju:
HKEY_LOCAL_MACHINE\SYSTEM\CurrentControlSet\Control\Nls\Language\Default
Name: Default, Type: REG_SZ, Data: [ovo treba pročitati]
Aktivna kodna strana se može dobiti API pozivom:
GetACP()
A što se tiče "custom" rasporeda, zaista ne znam: Pogledaj ovde, ako je verovati izvoru:
http://www.microsoft.com/globa...rIntl/columns/003/default.mspx
"There is no way provided by Windows to create your own custom keyboard layouts.
This is a feature that many people have asked for, and people at Microsoft are
very aware of the interest in this area."
E sad, to i dalje ne znači da ne može. U elektronskom svetu, sve se svodi na to da
se neki binarni fajl modifikuje, pa pretpostavljam da je ipak izvodljivo. Postojao je
nekad neki takozvani "Jankov maper", doduše za stare sisteme, pa probaj Google-om da
vidiš o čemu se radi.