integration of the system keymap, loaded when settings one loading fails
git-svn-id: file:///srv/svn/repos/haiku/trunk/current@8752 a95241bf-73f2-0310-859d-f6bbb57e9c96
This commit is contained in:
@@ -164,10 +164,13 @@ InputServer::InitKeyboardMouseStates(void)
|
|||||||
sMousePos.x = 200;
|
sMousePos.x = 200;
|
||||||
sMousePos.y = 200;
|
sMousePos.y = 200;
|
||||||
|
|
||||||
LoadKeymap();
|
if (LoadKeymap()!=B_OK)
|
||||||
|
LoadSystemKeymap();
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
#include "SystemKeymap.cpp"
|
||||||
|
|
||||||
status_t
|
status_t
|
||||||
InputServer::LoadKeymap()
|
InputServer::LoadKeymap()
|
||||||
{
|
{
|
||||||
@@ -208,6 +211,21 @@ InputServer::LoadKeymap()
|
|||||||
return B_OK;
|
return B_OK;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
|
status_t
|
||||||
|
InputServer::LoadSystemKeymap()
|
||||||
|
{
|
||||||
|
if (!fChars)
|
||||||
|
delete[] fChars;
|
||||||
|
fKeys = sSystemKeymap;
|
||||||
|
fCharsSize = sSystemKeyCharsSize;
|
||||||
|
fChars = new char[fCharsSize];
|
||||||
|
memcpy(fChars, sSystemKeyChars, fCharsSize);
|
||||||
|
|
||||||
|
// TODO : save this keymap to file
|
||||||
|
}
|
||||||
|
|
||||||
|
|
||||||
/*
|
/*
|
||||||
* Method: InputServer::QuitRequested()
|
* Method: InputServer::QuitRequested()
|
||||||
* Descr:
|
* Descr:
|
||||||
@@ -654,7 +672,8 @@ InputServer::HandleGetSetKeyMap(BMessage *message,
|
|||||||
if (status == B_OK)
|
if (status == B_OK)
|
||||||
status = reply->AddData("key_buffer", B_ANY_TYPE, fChars, fCharsSize);
|
status = reply->AddData("key_buffer", B_ANY_TYPE, fChars, fCharsSize);
|
||||||
} else {
|
} else {
|
||||||
LoadKeymap();
|
if (LoadKeymap()!=B_OK)
|
||||||
|
LoadSystemKeymap();
|
||||||
|
|
||||||
status = ControlDevices(NULL, B_KEYBOARD_DEVICE, B_KEY_MAP_CHANGED, NULL);
|
status = ControlDevices(NULL, B_KEYBOARD_DEVICE, B_KEY_MAP_CHANGED, NULL);
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -183,6 +183,7 @@ public:
|
|||||||
|
|
||||||
private:
|
private:
|
||||||
status_t LoadKeymap();
|
status_t LoadKeymap();
|
||||||
|
status_t LoadSystemKeymap();
|
||||||
|
|
||||||
bool sEventLoopRunning;
|
bool sEventLoopRunning;
|
||||||
bool sSafeMode;
|
bool sSafeMode;
|
||||||
|
|||||||
@@ -1,5 +1,9 @@
|
|||||||
SubDir OBOS_TOP src servers input ;
|
SubDir OBOS_TOP src servers input ;
|
||||||
|
|
||||||
|
if $(COMPILE_FOR_R5) {
|
||||||
|
SubDirC++Flags -DCOMPILE_FOR_R5 ;
|
||||||
|
}
|
||||||
|
|
||||||
rule MkKeymapHeader
|
rule MkKeymapHeader
|
||||||
{
|
{
|
||||||
local binary = $(1) ;
|
local binary = $(1) ;
|
||||||
@@ -25,10 +29,6 @@ MkKeymapHeader [ FGristFiles SystemKeymap.cpp ] : US-International.keymap ;
|
|||||||
SEARCH on US-International.keymap
|
SEARCH on US-International.keymap
|
||||||
+= [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) apps bin keymap ] ;
|
+= [ FDirName $(SUBDIR) $(DOTDOT) $(DOTDOT) apps bin keymap ] ;
|
||||||
|
|
||||||
if $(COMPILE_FOR_R5) {
|
|
||||||
SubDirC++Flags -DCOMPILE_FOR_R5 ;
|
|
||||||
}
|
|
||||||
|
|
||||||
AddResources input_server : input_server.rdef ;
|
AddResources input_server : input_server.rdef ;
|
||||||
|
|
||||||
UsePrivateHeaders app ;
|
UsePrivateHeaders app ;
|
||||||
|
|||||||
Reference in New Issue
Block a user