xref: /haiku/src/data/keyboard_layouts/Jamfile (revision 64b46b706b02d969629415c9a44c394a2a5e4993)
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