From: Marc-AndreĢ Moreau Date: Sun, 8 Jan 2012 17:42:30 +0000 (-0500) Subject: libfreerdp-kbd: fix keymaps search X-Git-Tag: 1.0.0~33^2~6 X-Git-Url: http://review.tizen.org/git/?a=commitdiff_plain;h=5c1216aad469a74bcbdd08942864c24c5580a167;p=platform%2Fupstream%2Ffreerdp.git libfreerdp-kbd: fix keymaps search --- diff --git a/libfreerdp-kbd/CMakeLists.txt b/libfreerdp-kbd/CMakeLists.txt index f6e9d4d..060846f 100644 --- a/libfreerdp-kbd/CMakeLists.txt +++ b/libfreerdp-kbd/CMakeLists.txt @@ -34,11 +34,13 @@ if(X11_FOUND) target_link_libraries(freerdp-kbd ${X11_LIBRARIES}) endif() -find_suggested_package(XKBFile) -if(XKBFILE_FOUND) - add_definitions(-DWITH_XKBFILE) - include_directories(${XKBFILE_INCLUDE_DIRS}) - target_link_libraries(freerdp-kbd ${XKBFILE_LIBRARIES}) +if(NOT APPLE) + find_suggested_package(XKBFile) + if(XKBFILE_FOUND) + add_definitions(-DWITH_XKBFILE) + include_directories(${XKBFILE_INCLUDE_DIRS}) + target_link_libraries(freerdp-kbd ${XKBFILE_LIBRARIES}) + endif() endif() add_definitions(-DKEYMAP_PATH="${FREERDP_KEYMAP_PATH}") diff --git a/libfreerdp-kbd/layouts_xkb.c b/libfreerdp-kbd/layouts_xkb.c index b9ad07f..e71f50d 100644 --- a/libfreerdp-kbd/layouts_xkb.c +++ b/libfreerdp-kbd/layouts_xkb.c @@ -235,8 +235,12 @@ static int load_xkb_keyboard(KeycodeToVkcode map, char* kbd) if((fp = fopen(xkbfilepath, "r")) == NULL) { - /* If ran from the source tree, the keymaps will be in the parent directory */ - snprintf(xkbfilepath, sizeof(xkbfilepath), "../keymaps/%s", xkbfile); + /* If ran from the root of the source tree */ + snprintf(xkbfilepath, sizeof(xkbfilepath), "./keymaps/%s", xkbfile); + + /* If ran from the client directory */ + if((fp = fopen(xkbfilepath, "r")) == NULL) + snprintf(xkbfilepath, sizeof(xkbfilepath), "../../keymaps/%s", xkbfile); if((fp = fopen(xkbfilepath, "r")) == NULL) {