1SubDir HAIKU_TOP src data keyboard_layouts ; 2 3 4rule GenerateKeyboardLayoutLocalizationHeader 5{ 6 local header = <keyboard-layout-locale>KeyboardLayoutNames.h ; 7 MakeLocateCommonPlatform $(header) ; 8 local jamfile = [ FGristFiles Jamfile ] ; 9 SEARCH on $(jamfile) = $(SUBDIR) ; 10 Depends $(header) : $(jamfile) ; 11 GenerateKeyboardLayoutLocalizationHeader1 $(header) ; 12 LocalClean clean : $(header) ; 13} 14 15actions GenerateKeyboardLayoutLocalizationHeader1 16{ 17 $(RM) $(1) 18 echo "#undef B_TRANSLATION_CONTEXT" >> $(1) 19 echo "#define B_TRANSLATION_CONTEXT \"KeyboardLayoutNames\"" >> $(1) 20 for name in "$(HAIKU_KEYBOARD_LAYOUT_FILES)" ; do 21 echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1) 22 done 23 echo "B_TRANSLATE_MARK_VOID(\"Apple\ Aluminum\")" >> $(1) 24 for name in "$(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES)" ; do 25 echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1) 26 done 27 echo "B_TRANSLATE_MARK_VOID(\"ThinkPad\")" >> $(1) 28 for name in "$(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES)" ; do 29 echo "B_TRANSLATE_MARK_VOID(\"$name\")" >> $(1) 30 done 31} 32 33 34# Add keyboard layout files to the image. 35local keyboardLayoutsDir 36 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ] ; 37HAIKU_KEYBOARD_LAYOUT_FILES = 38 "Fizzbook NL2" 39 "Generic 104-key" 40 "Generic 105-key International" 41 "Kinesis Advantage" 42 "Kinesis Ergo Elan International" 43 "TypeMatrix 2030" ; 44HAIKU_KEYBOARD_LAYOUT_FILES = $(HAIKU_KEYBOARD_LAYOUT_FILES) ; 45SEARCH on $(HAIKU_KEYBOARD_LAYOUT_FILES) = $(keyboardLayoutsDir) ; 46 47# Add Apple Aluminum keyboard layout files to the image in an Apple Aluminum 48# subdirectory. The subdirectory is turned into a submenu in the Layout menu 49# of the Keymap preference app. 50local appleAluminumDir 51 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts 52 Apple\ Aluminum ] ; 53HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES = 54 "Apple Aluminium Extended International" 55 "Apple Aluminium International" 56 "Apple Aluminum (US)" 57 "Apple Aluminum Extended (US)" ; 58HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES 59 = $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) ; 60SEARCH on $(HAIKU_APPLE_ALUMINUM_KEYBOARD_LAYOUT_FILES) = $(appleAluminumDir) ; 61 62# Add ThinkPad keyboard layout files to the image in a ThinkPad 63# subdirectory. The subdirectory is turned into a submenu in the Layout menu 64# of the Keymap preference app. 65local thinkpadDir 66 = [ FDirName $(HAIKU_TOP) data system data KeyboardLayouts ThinkPad ] ; 67HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES = 68 "ThinkPad (US)" 69 "ThinkPad International" 70 "ThinkPad T400s (US)" 71 "ThinkPad T400s International" 72 "ThinkPad X1 (US)" 73 "ThinkPad X1 International" 74 "ThinkPad X100e (US)" 75 "ThinkPad X100e International" ; 76HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES 77 = $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) ; 78SEARCH on $(HAIKU_THINKPAD_KEYBOARD_LAYOUT_FILES) = $(thinkpadDir) ; 79 80 81GenerateKeyboardLayoutLocalizationHeader ; 82