spiegel-keyman/linux/mcompile/keymap
2024-02-14 11:35:49 +01:00
..
deadkey.cpp feat(linux): res. conf mcompile-dk rename more functions 2024-02-14 11:35:49 +01:00
deadkey.h feat(linux): mcompile-dk createAlDead out of loop 2024-02-14 11:25:43 +01:00
filesystem.cpp feat(linux): mcompile unchanged files 2023-11-07 12:59:15 +01:00
filesystem.h feat(linux): mcompile unchanged files 2023-11-07 12:59:15 +01:00
helpers.cpp feat(linux): mcompile-dk createAlDead out of loop 2024-02-14 11:25:43 +01:00
helpers.h feat(linux): mcompile renaming func 2023-12-12 09:48:33 +01:00
keymap.cpp feat(linux): res. conf mcompile-dk rename more functions 2024-02-14 11:35:49 +01:00
keymap.h feat(linux): res. conf mcompile-dk rename more functions 2024-02-14 11:35:49 +01:00
km_types.h feat(linux): again resolce conflict mcompile-dk remove KMX_get_FFFF_Underlying_according_to_keycode_and_Shiftstate_GDK_dw 2024-02-14 11:33:41 +01:00
kmx_file.h feat(linux): mcompile minor changes2 2023-12-13 20:04:35 +01:00
mc_import_rules.cpp feat(linux): res. conf mcompile-dk rename more functions 2024-02-14 11:35:49 +01:00
mc_import_rules.h feat(linux): resolve conflicts mcompile-dk remove unused functions, consolidate Datatypes 2024-02-14 11:29:53 +01:00
mc_kmxfile.cpp feat(linux): mcompile-dk resolved problem for deadkey(2) 2024-02-12 15:30:20 +01:00
mc_kmxfile.h feat(linux): mcompile cleanup 2023-12-11 23:07:19 +01:00
mc_savekeyboard.cpp feat(linux): mcompile unchanged files 2023-11-07 12:59:15 +01:00
mc_savekeyboard.h feat(linux): mcompile minor changes 2023-11-07 13:00:30 +01:00
mcompile.cpp feat(linux): res. conf mcompile-dk rename more functions 2024-02-14 11:35:49 +01:00
mcompile.h feat(linux): res. conf mcompile-dk rename more functions 2024-02-14 11:35:49 +01:00
meson.build feat(linux): mcompile new file deadkey.h/.cpp and function createDK_ComposeTable 2023-12-02 17:20:23 +01:00
README.md feat(linux): mcompile work on _S2 comments 2024-01-11 11:13:02 +01:00
u16.cpp feat(linux): mcompile unchanged files 2023-11-07 12:59:15 +01:00
u16.h feat(linux): mcompile unchanged files 2023-11-07 12:59:15 +01:00

This is a proposal to rewrite mcompile for Linux. For this we need to query the base keyboard data from the Linux platform, then rewriting the keyboard .kmx using the same approach as is done in mcompile for Windows, but working from the data from the x11 keyboard on Linux.

Ideally, we'd rewrite mcompile to be cross-platform (Windows, Linux, macOS), so that the keyboard interrogation would be separated from the .kmx rewriting, at least to some degree. Nevertheless it would probably be easiest to start from a standalone implementation. Sample program that reads US basic keyboard and compares to key value group

Keymap

TODO check if US basic is the right Keyboard to compare with TODO deadkeys don't work yet TODO path for xkb/symbols as compile time option in meson TODO define folder to store File_US.txt" in and find better name TODO check if I can use files from some other keyman path instead of a copy in keymap ( e.g. filesystem.h exists elsewhere) TODO shiftstate-count TODO keymap SplitToV.cpp exchange 4 with genaerated shiftcount TODO shift-statevector TODO Do I need HKL for Linux / can I just use a void* or remove HKL ?? TODO typeddef of KMX_HKL - can I delete all m_hkl from classes? TODO check if passed All_Vectpor as ptr/ref not as value e.g. in KMX_CharFromVK, KMX_VKUSToVKUnderlyingLayout, KMX_ImportRules ToDo in get_VirtualKey_Other_From_SC: what if we use column 3(altgr) and 4 (shift+altgr) ?? TODO where to store VK_CANCEL.... in km_types.h or elsewhere? ToDo check up to 8 shiftstates ( find symbols-file with 8) ToDo use _free(keyvals); g_free(maps); ToDo use u16string OR wstring-functions only and remove the other

TODO next: - check if I use char16_t everywhere instead of wchar_t or char - Check/find use of wchar_t/wstring and replace with char16_t/u16string - replace GDK - what is wrong with kp->dpBitmapOffset/BitmapSize ? - check call by reference/value TODO ...

./mcompile -d /Projects/keyman/keyman/linux/mcompile/keymap/mcompile_test.kmx bla.dll 0407 /Projects/keyman/keyman/linux/mcompile/keymap/mcompile_test_out.kmx

./mcompile -d /home/mcompileTest/Source/mcompile_test.kmx bla.dll 0407 /home/mcompileTest/Source_after_run_mcompile/mcompile_test_out.kmx