Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

feat(linux): mnemonic layout support 🐘 #9384

Merged
merged 316 commits into from
Aug 14, 2024
Merged
Changes from 1 commit
Commits
Show all changes
316 commits
Select commit Hold shift + click to select a range
17a3118
feat(linux): mcompile small change in mc_import_rules
SabineSIL Sep 20, 2023
bf9d20f
feat(linux): mcompile move all functions that use VectorFile.txt to h…
SabineSIL Sep 21, 2023
9a88b63
feat(linux): mcompile add more functions to helpers.cpp/.h
SabineSIL Sep 22, 2023
9ddd419
feat(linux): mcompile add functions to query Vector
SabineSIL Sep 22, 2023
feb472d
feat(linux): mcompile start to adapt ImportRules
SabineSIL Sep 22, 2023
4dfec70
feat(linux): mcompile use All_Vector for constructor of KMX_VirtualKe…
SabineSIL Sep 22, 2023
85d7b87
feat(linux): mcompile some new functions to test content of rgKey; st…
SabineSIL Sep 26, 2023
218004d
feat(linux): mcompile use keycodes from \linux\ibus-keyman\src\keycod…
SabineSIL Sep 28, 2023
a414542
feat(linux): mcompile use keycodes from \linux\ibus-keyman\src\key
SabineSIL Sep 28, 2023
5d57ee7
feat(linux): mcompile ImportRules- fill rgkeys finished
SabineSIL Sep 28, 2023
5786137
feat(linux): mcompile start of translate key
SabineSIL Sep 29, 2023
461ade9
feat(linux): mcompile in translate key open functions+rename to KMX_.…
SabineSIL Sep 29, 2023
d321ef0
feat(linux): mcompile in translate key more open functions+rename to …
SabineSIL Sep 29, 2023
2a46b6f
feat(linux): mcompile use mapping Lin-Win that is available already i…
SabineSIL Oct 2, 2023
050e80a
feat(linux): mcompile use correct mapping for numbers
SabineSIL Oct 4, 2023
1d0bba6
feat(linux): mcompile tidy up
SabineSIL Oct 4, 2023
41cc718
feat(linux): mcompile more tidy up
SabineSIL Oct 4, 2023
0256c98
feat(linux): mcompile fill rgkey: numbers and A-Z are filled OK
SabineSIL Oct 5, 2023
2ead73b
feat(linux): mcompile fill rgkey OEM-Keys
SabineSIL Oct 12, 2023
90fb321
feat(linux): mcompile tidy up
SabineSIL Oct 12, 2023
54b8a1f
feat(linux): mcompile fill rgkey
SabineSIL Oct 14, 2023
70163eb
feat(linux): mcompile small changes wprintf+ implement+use KMX_VKUnde…
SabineSIL Oct 21, 2023
652a1b5
feat(linux): mcompile fill rgKey 186-192, 219, 222
SabineSIL Oct 26, 2023
ee328bb
feat(linux): mcompile fill rgKey 220 (221)
SabineSIL Oct 27, 2023
1d7f8c4
feat(linux): mcompile use GDK to fill rgKeys
SabineSIL Oct 31, 2023
6ff02e8
feat(linux): mcompile use GDK to fill rgKeys nr+char OK, OEM still ToDo
SabineSIL Nov 2, 2023
1705863
feat(linux): mcompile unchanged files
SabineSIL Nov 7, 2023
bee3f4a
feat(linux): mcompile minor changes
SabineSIL Nov 7, 2023
bce1244
feat(linux): mcompile tidy up code
SabineSIL Nov 7, 2023
bab7d37
feat(linux): mcompile more tidy up code
SabineSIL Nov 7, 2023
0a09e59
feat(linux): mcompile tidy up and rgkeys for nr, chars for DE and FR
SabineSIL Nov 7, 2023
ab0b5e9
Merge branch 'feat/linux/mcompile-DoConvert-read' of https://github.c…
SabineSIL Nov 7, 2023
867dc56
feat(linux): mcompile numbers + Char OK for DE,FR
SabineSIL Nov 8, 2023
e8fb6f8
feat(linux): mcompile started OEM keys
SabineSIL Nov 8, 2023
e9cc546
feat(linux): mcompile OEM keys
SabineSIL Nov 9, 2023
3796ee3
feat(linux): mcompile new get_position_From_GDK
SabineSIL Nov 9, 2023
4a7901b
feat(linux): mcompile tidy up
SabineSIL Nov 9, 2023
9e31156
feat(linux): mcompile tidy up
SabineSIL Nov 10, 2023
42702d1
feat(linux): mcompile more tidy up
SabineSIL Nov 10, 2023
4a318cb
feat(linux): mcompile constructor KMX_VirtualKey to use with GDK
SabineSIL Nov 10, 2023
4398de7
feat(linux): mcompile tidy up
SabineSIL Nov 13, 2023
5577e4c
feat(linux): mcompile use ScanCodeToUSVirtualKey/USVirtualKeyToScanCode
SabineSIL Nov 17, 2023
d731f4f
feat(linux): mcompile tidy up rename functions
SabineSIL Nov 17, 2023
fa57aa7
feat(linux): mcompile fill rgkey with AltGr+ AltGr/Caps
SabineSIL Nov 20, 2023
e353f4e
feat(linux): mcompile remove -u option
SabineSIL Nov 20, 2023
6213765
feat(linux): mcompile use AltGr; tidy up
SabineSIL Nov 21, 2023
80f7374
feat(linux): mcompile rename functions
SabineSIL Nov 21, 2023
46acfd0
feat(linux): mcompile find char using SC (KMX_VKUSToSCUnderlyingLayou…
SabineSIL Nov 22, 2023
ca831fc
feat(linux): mcompile function to manually fill rgkey[VK_DE] for test…
SabineSIL Nov 23, 2023
2c3d5e8
feat(linux): mcompile manually fill rgkey with the same values
SabineSIL Nov 24, 2023
58a3150
feat(linux): mcompile force filling rgkey[VK_DE] to be able to check …
SabineSIL Nov 24, 2023
0ce6b41
feat(linux): mcompile change LayoutRow to use Linux-Style shiftstates
SabineSIL Nov 27, 2023
7cd4379
feat(linux): mcompile start deadkeys, KMX_Lin_ImportRules_Lin
SabineSIL Nov 28, 2023
df64c56
feat(linux): mcompile deadkeys: open DoConvert- "if(bDeadkeyConversio…
SabineSIL Nov 30, 2023
aec220d
feat(linux): mcompile tidy up
SabineSIL Nov 30, 2023
3d09801
feat(linux): mcompile leave rgkey; use SC; sort by VK_US (instead of …
SabineSIL Nov 30, 2023
5f857de
feat(linux): mcompile fill rgkey with deadkey
SabineSIL Nov 30, 2023
70efd21
feat(linux): mcompile open functions for deadkeys and start to exchan…
SabineSIL Dec 1, 2023
0c5dab9
feat(linux): mcompile open more functions for deadkeys
SabineSIL Dec 1, 2023
9014296
feat(linux): mcompile tidy up
SabineSIL Dec 1, 2023
4b84604
feat(linux): mcompile new file deadkey.h/.cpp and function createDK_C…
SabineSIL Dec 2, 2023
f29d6f1
feat(linux): mcompile open KMX_ConvertDeadkey
SabineSIL Dec 4, 2023
01c7a11
feat(linux): mcompile open KMX_ConvertDeadkey/KMX_GetDeadkeys
SabineSIL Dec 4, 2023
5a5fd43
feat(linux): mcompile KMX_ConvertDeadkey finished
SabineSIL Dec 5, 2023
3d71754
feat(linux): mcompile changes in KMX_ConvertDeadkey
SabineSIL Dec 6, 2023
9122080
feat(linux): mcompile allow keycode 94 in getKeyvalsFromKeyCode
SabineSIL Dec 7, 2023
aad0191
feat(linux): mcompile sort converting functions I
SabineSIL Dec 7, 2023
e1f2972
feat(linux): mcompile sort converting functions II
SabineSIL Dec 7, 2023
f2d22eb
feat(linux): mcompile sort converting functions III
SabineSIL Dec 7, 2023
25957c5
feat(linux): mcompile sort converting functions IV
SabineSIL Dec 7, 2023
60534b1
feat(linux): mcompile start ImportRule deadkey(therefore created Impo…
SabineSIL Dec 7, 2023
e932ba5
feat(linux): mcompile new KMX_ToUnicodeEx
SabineSIL Dec 11, 2023
6ace426
feat(linux): mcompile cleanup
SabineSIL Dec 11, 2023
349fe17
feat(linux): mcompile renaming func
SabineSIL Dec 12, 2023
65ff317
feat(linux): mcompile renaming converting functions
SabineSIL Dec 12, 2023
bc478f7
feat(linux): mcompile LayoutRow started
SabineSIL Dec 12, 2023
60c3d89
feat(linux): mcompile LayoutRow
SabineSIL Dec 13, 2023
0d00533
feat(linux): mcompile lots of cleanup
SabineSIL Dec 13, 2023
0f12481
feat(linux): mcompile minor changes
SabineSIL Dec 13, 2023
7cc51bf
feat(linux): mcompile minor changes2
SabineSIL Dec 13, 2023
a17ed9f
feat(linux): mcompile check deadkeys.cpp/h
SabineSIL Jan 9, 2024
1ac467b
feat(linux): mcompile check files
SabineSIL Jan 10, 2024
4132d5f
feat(linux): mcompile work on _S2 comments
SabineSIL Jan 11, 2024
474d5d6
feat(linux): mcompile KMX_VirtualKey KMX_VirtualKey(KMX_HKL hkl,UINT …
SabineSIL Jan 11, 2024
6a31027
feat(linux): mcompile opened some deadkey-functions
SabineSIL Jan 12, 2024
417c9bb
feat(linux): mcompile review code
SabineSIL Jan 12, 2024
c4d723e
feat(linux): mcompile review comments
SabineSIL Jan 12, 2024
f43ca56
feat(linux): mcompile disable comments
SabineSIL Jan 12, 2024
3f2109b
feat(linux): mcompile disable comments
SabineSIL Jan 12, 2024
f589087
feat(linux): mcompile-deadkeys start
SabineSIL Jan 16, 2024
5769bf0
feat(linux): mcompile-deadkeys KMX_get_CharUnderlying_From_SCUnderlyi…
SabineSIL Jan 18, 2024
33c63fb
feat(linux): mcompile-loader.KMX_ProcessDeadKey
SabineSIL Jan 19, 2024
bbf3b39
feat(linux): mcompile newFunc create_alDead, class Deadkey to .h
SabineSIL Jan 24, 2024
5a816ec
feat(linux): mcompile-dk KMX_TranslateDeadkeyKey
SabineSIL Jan 24, 2024
53d6f02
feat(linux): mcompile-dk more KMX_TranslateDeadkeyKey
SabineSIL Jan 24, 2024
0e20c3e
feat(linux): mcompile-dk shrink contents of alDead
SabineSIL Jan 24, 2024
0e84965
feat(linux): mcompile-dk remove difference in kmn-file (deadkey(3) + …
SabineSIL Jan 26, 2024
783dc4b
feat(linux): mcompile-dk :use deadkey(dkmax) , contents of alDead sor…
SabineSIL Jan 31, 2024
6af536a
feat(linux): mcompile-dk more shiftstates in KMX_get_CharsUnderlying…
SabineSIL Feb 1, 2024
463fe2f
feat(linux): mcompile-dk tidy up
SabineSIL Feb 1, 2024
78e7367
feat(linux): mcompile-dk doublicate functions
SabineSIL Feb 2, 2024
dcf49b9
feat(linux): mcompile-dk tidy up
SabineSIL Feb 2, 2024
5ab1dcd
feat(linux): mcompile-dk reduce nr of functions using gdk_keymap_tran…
SabineSIL Feb 5, 2024
38ce7ab
feat(linux): mcompile-dk new KMX_toUnicodeEx
SabineSIL Feb 6, 2024
b345e6c
feat(linux): mcompile-dk tidy up
SabineSIL Feb 6, 2024
9c83fd0
feat(linux): mcompile-dk [K_?00] resolved
SabineSIL Feb 7, 2024
fb47917
feat(linux): mcompile-dk alDead sorted & in right order as win version
SabineSIL Feb 9, 2024
f19ec9d
feat(linux): mcompile-dk found problem for deadkey(2)
SabineSIL Feb 9, 2024
d2cee89
feat(linux): mcompile-dk resolved problem for deadkey(2)
SabineSIL Feb 12, 2024
3c9ccc0
feat(linux): mcompile-dk createAlDead out of loop
SabineSIL Feb 12, 2024
b49f28f
feat(linux): resolve conflicts mcompile-dk remove unused functions, c…
SabineSIL Feb 12, 2024
80e044e
feat(linux): again resolce conflict mcompile-dk remove KMX_get_FFFF_U…
SabineSIL Feb 13, 2024
cdeeec9
feat(linux): res. conf mcompile-dk rename more functions
SabineSIL Feb 13, 2024
4aec162
feat(linux): again resolve mcompile-dk rename even more functions
SabineSIL Feb 13, 2024
8e0f7ff
feat(linux): mcompile-dk more replacing,renaming solved con
SabineSIL Feb 13, 2024
beaa250
feat(linux): mcompile-dk remove dublicate lines after rebasing
SabineSIL Feb 14, 2024
3662839
feat(linux): mcompile-dk check warnings
SabineSIL Feb 14, 2024
3211a0c
feat(linux): mcompile-dk gerneral tidy up
SabineSIL Feb 14, 2024
8704c7e
feat(linux): mcompile-dk remove a function
SabineSIL Feb 14, 2024
07b1d5d
feat(linux): mcompile-dk remove func 2
SabineSIL Feb 14, 2024
0675a5d
feat(linux): mcompile-dk remove unneccessary function
SabineSIL Feb 14, 2024
41e4803
feat(linux): mcompile-dk rename function
SabineSIL Feb 14, 2024
ed60382
feat(linux): mcompile-dk replace KMX_LogError
SabineSIL Feb 14, 2024
da4ea69
feat(linux): mcompile-dk remove helpers.cpp/h
SabineSIL Feb 15, 2024
d0c7d34
feat(linux): mcompile-dk remove mc_savekeyboard
SabineSIL Feb 15, 2024
e2af2d0
feat(linux): mcompile-dk looking at this->SC() vs. KMX_get_KeyCodeUnd…
SabineSIL Feb 19, 2024
fb1ad0c
feat(linux): mcompile-dk LogErrror,naming,tidy up
SabineSIL Feb 20, 2024
76adcd0
feat(linux): mcompile-dk naming of Var,Function (KeyVal,KeyCode,VK)
SabineSIL Feb 20, 2024
002d9e1
feat(linux): mcompile-dk remove keymap in some functions
SabineSIL Feb 20, 2024
77d50ee
feat(linux): mcompile-dk combine KMX_get_KeyValUnderlying_From_KeyCod…
SabineSIL Feb 20, 2024
001dc52
feat(linux): mcompile-dk remove KMX_FillKeyState
SabineSIL Feb 20, 2024
aa36aad
feat(linux): mcompile-dk edit comments
SabineSIL Feb 20, 2024
4687fdc
feat(linux): mcompile-dk remove numpad, special shift states, sort_dk
SabineSIL Feb 26, 2024
78c4b58
feat(linux): mcompile-dk disable functions to calculate capslock and …
SabineSIL Feb 26, 2024
f6e887a
feat(linux): mcompile-dk remove comments
SabineSIL Feb 27, 2024
b0811ba
feat(linux): mcompile-dk capslock-equation added again. We need it! (…
SabineSIL Feb 27, 2024
754f13f
feat(linux): mcompile-dkcomments on capslock
SabineSIL Feb 27, 2024
08085e3
feat(linux): mcompile-dk comment out some #includes that are not needed
SabineSIL Feb 28, 2024
f04b1df
feat(linux): mcompile-dk disable KMX_VirtualKey(KMX_HKL hkl,UINT virt…
SabineSIL Feb 28, 2024
afb391f
feat(linux): mcompile-dk disable use of HKL
SabineSIL Feb 28, 2024
5d43f0a
feat(linux): mcompile-dk use const wchar_t* in LogError
SabineSIL Feb 29, 2024
cc7997e
feat(linux): mcompile-dk start replace wchar_t
SabineSIL Mar 1, 2024
901ff2b
feat(linux): mcompile-dk replace wchar_t create duplicate u16.functio…
SabineSIL Mar 1, 2024
7bb9798
feat(linux): mcompile-dk replace wchar_t disable some old wchar_t fun…
SabineSIL Mar 1, 2024
1c9f879
feat(linux): mcompile-dk replace wchar_t disable more old wchar_t fun…
SabineSIL Mar 1, 2024
19e120d
feat(linux): mcompile-dk char16 works
SabineSIL Mar 5, 2024
99dd1fa
feat(linux): mcompile remove _16 where I do not need them
SabineSIL Mar 5, 2024
aa534f9
feat(linux): mcompile remove even more _16 where I do not need them
SabineSIL Mar 5, 2024
bca7bd6
feat(linux): mcompile rename functions with _16 back
SabineSIL Mar 5, 2024
2d364bf
feat(linux): mcompile-dk start replace wchar_t
SabineSIL Mar 1, 2024
7ea0cff
Merge branch 'feat/linux/mcompile-wchart_char16_changed16' into feat/…
SabineSIL Mar 7, 2024
a6cec09
feat(linux): mcompile-dk remove comments
SabineSIL Mar 14, 2024
89844cb
feat(linux): mcompile-dk very last edits
SabineSIL Mar 18, 2024
809bc35
feat(linux): mcompile-dk solve conflict in .gitignore
SabineSIL Mar 18, 2024
8562071
feat(linux): mcompile-dk still solve conflict in .gitignore
SabineSIL Mar 18, 2024
977007b
feat(linux): mcompile add line
SabineSIL Apr 29, 2024
55c70f7
feat(linux): mcompile.cpp edit some text
SabineSIL Jun 11, 2024
39c25c4
feat(linux): renaming symbols: mostly capital-non-capital at beginnin…
SabineSIL Jun 11, 2024
724e5b6
feat(linux): rename symbols more
SabineSIL Jun 14, 2024
a305176
Merge pull request #11761 from keymanapp/feat/linux/mcompile-renameSy…
SabineSIL Jun 14, 2024
4cf8043
feat(linux): rework deadkey.cpp/.h
SabineSIL Jun 17, 2024
fa19203
feat(linux): rework deadkey.cpp/.h format document
SabineSIL Jun 17, 2024
bfea2fa
feat(linux): change gitignore
SabineSIL Jun 17, 2024
433332d
feat(linux): undo changes in .gittignore
SabineSIL Jun 18, 2024
f724b4e
feat(linux): layout changes only
SabineSIL Jun 18, 2024
801baf5
feat(linux): remove comments
SabineSIL Jun 18, 2024
f07cb3a
feat(linux): change variable names
SabineSIL Jun 18, 2024
80390b6
feat(linux): start rework mc_import_rules
SabineSIL Jun 18, 2024
d2f031e
feat(linux): function ensureValidInputForKeyboardTranslation instead …
SabineSIL Jun 19, 2024
ade07bb
feat(linux): move CODE__SIZE and #include <../../../../common/include…
SabineSIL Jun 19, 2024
e0bd714
feat(linux): edit nit picks
SabineSIL Jun 19, 2024
9da9c8b
feat(linux): change .clang-format
SabineSIL Jun 20, 2024
f22088c
Merge branch 'feat/linux/mcompile-rework_deadkey' into feat/linux/mco…
SabineSIL Jun 20, 2024
42186ff
Merge pull request #11813 from keymanapp/feat/linux/mcompile-rework_d…
SabineSIL Jun 20, 2024
404d888
feat(linux): work on 2nd round of comments on PR 11816
SabineSIL Jun 20, 2024
e4e05a7
feat(linux):check buffer size moved
SabineSIL Jun 21, 2024
0eb96a7
feat(linux):check buffer size moved
SabineSIL Jun 21, 2024
1ddbcf6
feat(linux):work on comments for keymap
SabineSIL Jun 21, 2024
f9c05b8
feat(linux): second round of comments for 11816
SabineSIL Jun 24, 2024
7051754
feat(linux): work on 2.nd round of comments 11816
SabineSIL Jun 24, 2024
252c409
feat(linux): comment and assert in KMX_ToUnicodeEx when surrogate pa…
SabineSIL Jun 24, 2024
0075b8f
feat(linux): createCompleteVector_US
SabineSIL Jun 24, 2024
2b59c3c
feat(linux): CodePointToU16String
SabineSIL Jun 24, 2024
adbd27a
Merge pull request #11846 from keymanapp/origin/feat/linux/mcompile-r…
SabineSIL Jun 25, 2024
bc5b502
feat(linux): comments for mc_kmxfile
SabineSIL Jun 25, 2024
e84c4be
Merge branch 'feat/linux/mcompile-DoConvert-read' into feat/linux/mco…
SabineSIL Jun 26, 2024
5e1001a
Merge pull request #11816 from keymanapp/feat/linux/mcompile-rework_m…
SabineSIL Jun 26, 2024
6e9396c
feat(linux): changes in file permission and other files
SabineSIL Jun 26, 2024
75c9850
feat(linux): remove x11 from meson.build
SabineSIL Jun 26, 2024
e8c8f16
feat(linux): add blanc lines to prevent github from stating "empty f…
SabineSIL Jun 26, 2024
98beb94
feat(linux): ... and remove again
SabineSIL Jun 26, 2024
5795625
feat(linux): ... and back in
SabineSIL Jun 26, 2024
fad203d
feat(linux): change mcompile.h
SabineSIL Jun 26, 2024
912b8ac
feat(linux): more comments on keymap
SabineSIL Jun 26, 2024
7a0fcd1
feat(linux): more comments for keymap 2
SabineSIL Jun 27, 2024
08f2b05
feat(linux): >= instead of > for comparison with gdk_level
SabineSIL Jun 27, 2024
a488f61
feat(linux): rework mcompile switch
SabineSIL Jun 28, 2024
967577e
Merge pull request #11880 from keymanapp/feat/linux/mcompile-rework_o…
SabineSIL Jun 28, 2024
6647932
feat(linux): move run, GetDeadkeys: declaration to fwd-decl in cpp`s
SabineSIL Jun 28, 2024
6966037
feat(linux): remove filesystem.h/cpp and move OpenFile() function to …
SabineSIL Jun 28, 2024
f6c5a4a
feat(linux): warning after Error, keycode_max
SabineSIL Jun 28, 2024
ec05b41
feat(linux): char-filenames, check parameters in run()
SabineSIL Jun 28, 2024
1c34bde
feat(linux): formatting
SabineSIL Jul 1, 2024
334ee3b
feat(linux): remove unused function
SabineSIL Jul 1, 2024
683c062
feat(linux): finish up comments on u16
SabineSIL Jul 1, 2024
536ef54
feat(linux): macro max to std::max; wprintf->printf in run()
SabineSIL Jul 2, 2024
d40ef15
feat(linux): prevent buffer overrun #11910
SabineSIL Jul 3, 2024
e9d158f
feat(linux): remaining comments on u16
SabineSIL Jul 3, 2024
e6b108a
feat(linux): macro max to std::max; wprintf->printf in run()
SabineSIL Jul 2, 2024
89f8ee7
feat(linux): run and DoConvert without argv_gdk
SabineSIL Jul 4, 2024
81abbaf
feat(linux): remove declaration of fun without definition
SabineSIL Jul 4, 2024
f6a969b
feat(linux): ensureValidInputForKeyboardTranslation
SabineSIL Jul 4, 2024
17eea39
feat(linux): ensureValidInputForKeyboardTranslation more
SabineSIL Jul 4, 2024
5a70d83
feat(linux): new fun convert_rgkey_Shiftstate_to_LinuxShiftstate()
SabineSIL Jul 4, 2024
83f079e
feat(linux): remove count
SabineSIL Jul 4, 2024
e6f212c
feat(linux): changes in convert_rgkey_Shiftstate_to_LinuxShiftstate
SabineSIL Jul 4, 2024
4424c23
Merge branch 'feat/linux/mcompile-rework_keymap_part2' into feat/linu…
SabineSIL Jul 4, 2024
236d4d8
Merge pull request #11887 from keymanapp/feat/linux/mcompile-rework_m…
SabineSIL Jul 4, 2024
c0b8372
Merge pull request #11886 from keymanapp/feat/linux/mcompile-rework_k…
SabineSIL Jul 4, 2024
90e53e8
Merge pull request #11895 from keymanapp/feat/linux/mcompile-rework_u16
SabineSIL Jul 4, 2024
7e2d46e
Merge branch 'feat/linux/mcompile-DoConvert-read' into feat/linux/mco…
SabineSIL Jul 24, 2024
b7ddca8
Merge pull request #11936 from keymanapp/feat/linux/mcompile-rework_m…
SabineSIL Jul 24, 2024
1828b46
feat(linux): start adding comments according to the new regulations
SabineSIL Jul 3, 2024
ddcd452
feat(linux): info for KMX_ToUnicodeEx
SabineSIL Jul 30, 2024
bf79287
feat(linux): remove Open_File for KMX_WCHAR ;capslock=1
SabineSIL Jul 30, 2024
2aacc78
feat(linux): use Shiftstate instead of int in ToUnicodeEx
SabineSIL Jul 30, 2024
03df66d
feat(linux): use u16.cpp/h from feat/linux/mcompile-comments
SabineSIL Jul 30, 2024
7ed711c
Merge branch 'feat/linux/mcompile-DoConvert-read' into feat/linux/mco…
SabineSIL Jul 30, 2024
56c6be2
feat(linux): comments of PR 12065
SabineSIL Aug 1, 2024
04e237d
Merge branch 'feat/linux/mcompile-DoConvert-read' into feat/linux/mco…
SabineSIL Aug 1, 2024
2b21d73
Apply suggestions from code review
SabineSIL Aug 1, 2024
e64c1ff
feat(linux): comment changes
SabineSIL Aug 1, 2024
fe6f828
Merge branch 'feat/linux/mcompile-DoConvert-read' into feat/linux/mco…
SabineSIL Aug 1, 2024
0388967
feat(Linux): more comments PR 12065
SabineSIL Aug 2, 2024
690caec
feat(Linux): swap detailed comments <-> one-line comments
SabineSIL Aug 6, 2024
e0f4e50
feat(Linux): "a few minor things"
SabineSIL Aug 8, 2024
1719df2
feat(Linux): "more minor things"
SabineSIL Aug 8, 2024
ef4e47c
feat(Linux): layout mcompile
SabineSIL Aug 8, 2024
6382f3c
Merge pull request #12065 from keymanapp/feat/linux/mcompile-comments
SabineSIL Aug 8, 2024
9e1d2f9
feat(linux): u16: change parameter name; while loop
SabineSIL Aug 8, 2024
32a9110
Merge branch 'epic/linux-mcompile' into feat/linux/mcompile-DoConvert…
SabineSIL Aug 13, 2024
dc97370
Merge branch 'epic/linux-mcompile' into feat/linux/mcompile-DoConvert…
mcdurdin Aug 13, 2024
58c1e50
chore(linux): remove mcompile-specific km_types.h
SabineSIL Aug 13, 2024
a77a0d3
chore(linux): undo changes in comments of VKScancodes
SabineSIL Aug 14, 2024
ad21aa0
chore(linux): add build.sh for mcompile-lin
SabineSIL Aug 14, 2024
5a0a18c
Merge branch 'epic/linux-mcompile' into feat/linux/mcompile-DoConvert…
mcdurdin Aug 14, 2024
dd0ea90
feat(linux): remove local u16 and use km_u16
SabineSIL Aug 14, 2024
816175f
refactor(linux): remove meson.build
SabineSIL Aug 14, 2024
ba01abf
Merge pull request #12178 from keymanapp/feat/linux/mcompile-build.sh
mcdurdin Aug 14, 2024
d0d5aa3
Merge pull request #12180 from keymanapp/feat/linux/mcompile-replace_U16
SabineSIL Aug 14, 2024
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
Prev Previous commit
Next Next commit
feat(linux): again resolce conflict mcompile-dk remove KMX_get_FFFF_U…
…nderlying_according_to_keycode_and_Shiftstate_GDK_dw
SabineSIL committed Feb 14, 2024
commit 80e044e106e527725ce80cf8a140f726a3689d23
90 changes: 88 additions & 2 deletions linux/mcompile/keymap/keymap.cpp
SabineSIL marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -513,7 +513,7 @@ KMX_DWORD KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK(GdkKeymap *keymap
guint *keyvals;
gint count;
KMX_DWORD out;
KMX_DWORD deadkey;
KMX_DWORD deadkey=0;


if (!gdk_keymap_get_entries_for_keycode(keymap, keycode, &maps, &keyvals, &count))
@@ -523,7 +523,7 @@ KMX_DWORD KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK(GdkKeymap *keymap

if (!(shift_state_pos <= count))
ermshiperete marked this conversation as resolved.
Show resolved Hide resolved
return 0;

// _S2 94 as variable/const
if (!(keycode <= 94))
return 0;

@@ -543,6 +543,70 @@ KMX_DWORD KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK(GdkKeymap *keymap
return out;
}

// _S2 TODO
KMX_DWORD KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK_New(GdkKeymap *keymap, guint keycode, int shift_state_pos, PKMX_WCHAR &dky) {
GdkKeymapKey *maps;
guint *keyvals;
gint count;
KMX_DWORD out;
KMX_DWORD deadkey=0;


if (!gdk_keymap_get_entries_for_keycode(keymap, keycode, &maps, &keyvals, &count))
return 0;
//if(!gdk_wayland_keymap_get_entries_for_keycode(keymap, keycode, &maps, &keyvals, &count))
// return 0; https://codebrowser.dev/gtk/gtk/gdk/wayland/gdkkeys-wayland.c.html

if (!(shift_state_pos <= count))
return 0;
// _S2 94 as variable/const
if (!(keycode <= 94))
return 0;

// _S2 TODO take caps to this function
// here I get all kvals: normal char , my Deadkeys, allothr DK
KMX_DWORD All_Keyvals = KMX_get_keyvals_From_Keycode(keymap, keycode, ShiftState(shift_state_pos), 0);
if(( (All_Keyvals >= deadkey_min) && (All_Keyvals <= deadkey_max)))
deadkey = All_Keyvals;
// _S2 check if naming is correct: does get_char... return a char or a string or a DWORD;...?
dky = (PKMX_WCHAR) (convert_DeadkeyValues_To_U16str((int) deadkey)).c_str();
/*
// _S2 ToDo
KMX_DWORD KMX_get_FFFF_Underlying_according_to_keycode_and_Shiftstate_GDK_dw(GdkKeymap *keymap, guint keycode, ShiftState ss, int caps){

KMX_DWORD keyvals_dw= (KMX_DWORD) KMX_get_keyvals_From_Keycode(keymap, keycode, ss, caps);

// _S2 AHA output for dk4-12 at the top after dk... from here
if((keyvals_dw >= deadkey_min) && (keyvals_dw <= deadkey_max)) // deadkeys
return 0xFFFF;
else if((keyvals_dw > deadkey_max) || ((keyvals_dw < deadkey_min) && ( keyvals_dw > 0xFF))) // out of range
return 0xFFFE;
else // usable char
return keyvals_dw;
}
*/

g_free(keyvals);
g_free(maps);

// _S2 AHA output for dk4-12 at the top after dk... from here
if((All_Keyvals >= deadkey_min) && (All_Keyvals <= deadkey_max)) // deadkeys
return 0xFFFF;
else if((All_Keyvals > deadkey_max) || ((All_Keyvals < deadkey_min) && ( All_Keyvals > 0xFF))) // out of range
return 0xFFFE;
else // usable char
return All_Keyvals;






//out = KMX_get_FFFF_Underlying_according_to_keycode_and_Shiftstate_GDK_dw(keymap, keycode, (ShiftState) shift_state_pos, 0);


}

KMX_DWORD KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK(GdkKeymap *keymap, guint keycode, int shift_state_pos) {
GdkKeymapKey *maps;
guint *keyvals;
@@ -580,6 +644,28 @@ KMX_DWORD KMX_get_FFFF_Underlying_according_to_keycode_and_Shiftstate_GDK_dw(Gdk
else // usable char
return keyvals_dw;
}
// _S2 remove term _other and use underlying instead
KMX_DWORD KMX_get_CharUnderlying_From_SCUnderlying_GDK_NEW(GdkKeymap *keymap, UINT VKShiftState, UINT SC_OTHER, PKMX_WCHAR DeadKey) {
//takes keymap, shift, scanCode
//fills ref deadkey
//returns character(KMX_DWORD)
PKMX_WCHAR dd;
KMX_DWORD keyvals_dw = KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK_New(keymap, SC_OTHER, map_VKShiftState_to_Lin(VKShiftState), dd);




// _S2 rename dd
if((keyvals_dw >= deadkey_min) && (keyvals_dw >= deadkey_max)) {
*DeadKey = *dd;
return 0xFFFF;
}
else if((keyvals_dw > deadkey_max) || ((keyvals_dw < deadkey_min) && ( keyvals_dw > 0xFF))) // out of range
return 0xFFFE;
else // usable char
return keyvals_dw;

}

KMX_DWORD KMX_get_CharsUnderlying_according_to_keycode_and_Shiftstate_GDK_dw(GdkKeymap *keymap, guint keycode, ShiftState ss, int caps){

2 changes: 1 addition & 1 deletion linux/mcompile/keymap/keymap.h
SabineSIL marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -520,7 +520,7 @@ KMX_DWORD KMX_get_CharsUnderlying_according_to_keycode_and_Shiftstate_GDK_dw(Gdk

// _S2 TODO returns char or FFFF / FFFE ????
KMX_DWORD KMX_get_FFFF_Underlying_according_to_keycode_and_Shiftstate_GDK_dw(GdkKeymap *keymap, guint keycode, ShiftState ss, int caps);

KMX_DWORD KMX_get_CharUnderlying_From_SCUnderlying_GDK_NEW(GdkKeymap *keymap, UINT VKShiftState, UINT SC_OTHER, PKMX_WCHAR DeadKey);



2 changes: 1 addition & 1 deletion linux/mcompile/keymap/km_types.h
SabineSIL marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -36,7 +36,7 @@ typedef uint16_t km_kbp_cp; // code point
typedef uint32_t km_kbp_usv; // Unicode Scalar Value
#endif

// _S2 which can be removed later?
// _S2 TODO which can be removed later?
typedef unsigned int UINT;
typedef unsigned long DWORD;

15 changes: 7 additions & 8 deletions linux/mcompile/keymap/mc_import_rules.cpp
Original file line number Diff line number Diff line change
@@ -128,7 +128,7 @@ class KMX_VirtualKey {
// _S2 TODO deadkey
// memset(this->m_rgfDeadKey,0,sizeof(this->m_rgfDeadKey));
}
//_S2 keymap* or keymap**
//_S2 ToDo keymap* or keymap**

KMX_VirtualKey(UINT scanCode, KMX_HKL hkl, GdkKeymap **keymap) {
this->m_vk = KMX_get_VKUS_From_KeyCodeUnderlying_GDK(*keymap, scanCode);
@@ -251,7 +251,7 @@ class KMX_VirtualKey {
int nkeys = 0;

// Get the CAPSLOCK value
//_S2 not used in original code; can be deleted
//_S2 INFO not used in original code; can be deleted
/*int capslock =
(this->KMX_IsCapsEqualToShift() ? 1 : 0) |
(this->KMX_IsSGCAPS() ? 2 : 0) |
@@ -448,7 +448,7 @@ bool KMX_ImportRules(LPKMX_KEYBOARD kp,v_dw_3D &All_Vector, GdkKeymap **keymap,
std::vector<KMX_VirtualKey*> rgKey; //= new VirtualKey[256];
std::vector<DeadKey*> alDead;

//_S2 remove alDead2
//_S2 TODO remove alDead2
std::vector<DeadKey*> alDead2 ;
std::vector<DeadKey*> alDead_cpl = create_alDead();
std::vector<DeadKey*> alDead_cpl = create_alDead();
@@ -522,9 +522,9 @@ bool KMX_ImportRules(LPKMX_KEYBOARD kp,v_dw_3D &All_Vector, GdkKeymap **keymap,
}

//_S2 to compare win-lin kmn-files skip ss6+7; MUST BE restored/removed later!!!!
if(ss == MenuCtrl|| ss == ShftMenuCtrl) {
/*if(ss == MenuCtrl|| ss == ShftMenuCtrl) {
continue;
}
}*/

KMX_DWORD SC_US = KMX_get_KeyCodeUnderlying_From_VKUS(iKey);

@@ -562,14 +562,13 @@ bool KMX_ImportRules(LPKMX_KEYBOARD kp,v_dw_3D &All_Vector, GdkKeymap **keymap,
}
sbBuffer[rc] = 0;
//rgKey[iKey]->KMX_SetShiftState(ss, KeyVal_Other, false, (caps==0));
rgKey[iKey]->KMX_SetShiftState(ss, sbBuffer, false, (caps)); //_S2
rgKey[iKey]->KMX_SetShiftState(ss, sbBuffer, false, (caps)); //_S2 INFO
}
}
else if(rc < 0) {
sbBuffer[2] = 0;
//rgKey[iKey]->SetShiftState(ss, sbBuffer, true, (caps == 0));
rgKey[iKey]->KMX_SetShiftState(ss, sbBuffer, true, (caps )); //_S2
rgKey[iKey]->KMX_SetShiftState(ss, sbBuffer, true, (caps )); //_S2
rgKey[iKey]->KMX_SetShiftState(ss, sbBuffer, true, (caps )); //_S2 INFO

// It's a dead key; let's flush out whats stored in the keyboard state.
loader.KMX_ClearKeyboardBuffer();
29 changes: 18 additions & 11 deletions linux/mcompile/keymap/mcompile.cpp
SabineSIL marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -22,7 +22,7 @@
06 Feb 2015 - mcdurdin - I4552 - V9.0 - Add mnemonic recompile option to ignore deadkeys
08 Apr 2015 - mcdurdin - I4651 - V9.0 - Mnemonic layout recompiler maps AltGr+VK_BKSLASH rather than VK_OEM_102
*/
//_S2
//_S2 INFO
// in /Projects/keyman/keyman/linux/mcompile/keymap/build_mcompile
// run with:
//./mcompile -d in.kmx bla.dll 0407 out.kmx
@@ -149,7 +149,7 @@ int run(int argc, std::vector<std::u16string> str_argv, char* argv_ch[] = NULL){
// Map of all shift states that we will work with
const UINT VKShiftState[] = {0, K_SHIFTFLAG, LCTRLFLAG|RALTFLAG, K_SHIFTFLAG|LCTRLFLAG|RALTFLAG, 0xFFFF};

// _S2 my comment for Lin version
// _S2 INFO my comment for Lin version
// Ubuntu: Each of the 4 columns specifies a different modifier: unmodified, shift, right alt (altgr), shift+right alt(altgr)
// we have assigned these to columns 1-4 ( column o holds the keycode)
// const UINT VKShiftState[] = {0, 1, 2, 3, 0xFFFF};
@@ -160,8 +160,7 @@ const UINT VKShiftState[] = {0, K_SHIFTFLAG, LCTRLFLAG|RALTFLAG, K_SHIFTFLAG|LCT
//
// For each key rule on the keyboard, remap its key to the
// correct shift state and key. Adjust the LCTRL+RALT -> RALT if necessary
// _S2 exchange key->Key with the new value ( use vk instead of ch)
// _S2 exchange key->Key with the new value ( use vk instead of ch)
// _S2 INFO exchange key->Key with the new value ( use vk instead of ch)
//
void KMX_TranslateKey(LPKMX_KEY key, KMX_WORD vk, UINT shift, KMX_WCHAR ch) {
// The weird LCTRL+RALT is Windows' way of mapping the AltGr key.
@@ -227,7 +226,7 @@ void KMX_ReportUnconvertedKeyboardRules(LPKMX_KEYBOARD kbd) {
}

void KMX_TranslateDeadkeyKey(LPKMX_KEY key, KMX_WCHAR deadkey, KMX_WORD vk, UINT shift, KMX_WORD ch) {
// _S2 this produces a different output due to different layouts for Lin<-> win ( foe the same language!!)
// _S2 INFO this produces a different output due to different layouts for Lin<-> win ( foe the same language!!)

if((key->ShiftFlags == 0 || key->ShiftFlags & VIRTUALCHARKEY) && key->Key == ch) {

@@ -281,7 +280,7 @@ void KMX_AddDeadkeyRule(LPKMX_KEYBOARD kbd, KMX_WCHAR deadkey, KMX_WORD vk, UINT
// to provide an alternate..
if((shift & (LCTRLFLAG|RALTFLAG)) == (LCTRLFLAG|RALTFLAG)) // I4549
shift &= ~LCTRLFLAG;
// _s2 idee spanish keyboard has dk on altgr !!
// _s2 INFO idee spanish keyboard has dk on altgr !!

// If the first group is not a matching-keys group, then we need to add into
// each subgroup, otherwise just the match group
@@ -460,8 +459,17 @@ KMX_BOOL KMX_DoConvert(LPKMX_KEYBOARD kbd, KMX_BOOL bDeadkeyConversion, gint arg
for (int i = 0;KMX_VKMap[i]; i++) { // I4651

// win goes via VK, Lin goes via SC

KMX_WCHAR DeadKey1=0;
DeadKey=0;
UINT scUnderlying = KMX_get_SCUnderlying_From_VKUS(KMX_VKMap[i]);
KMX_WCHAR ch = KMX_get_CharUnderlying_From_SCUnderlying_GDK(keymap, VKShiftState[j], scUnderlying, &DeadKey);
KMX_WCHAR ch1 = KMX_get_CharUnderlying_From_SCUnderlying_GDK_NEW(keymap, VKShiftState[j], scUnderlying, &DeadKey1);

if( ch!=ch1)
wprintf(L"IS DIFFERENT!!!! %i <--> %i\n", ch,ch1);
if( DeadKey!=DeadKey1)
wprintf(L"DDDDKKKK IS DIFFERENT!!!! %i <--> %i\n", DeadKey,DeadKey1);

//wprintf(L"--- VK_%d -> SC_ [%c] dk=%d ( ss %i) \n", VKMap[i], ch == 0 ? 32 : ch, DeadKey, VKShiftState[j]);

@@ -473,19 +481,18 @@ KMX_BOOL KMX_DoConvert(LPKMX_KEYBOARD kbd, KMX_BOOL bDeadkeyConversion, gint arg

switch(ch) {
case 0x0000: break;
case 0xFFFF: // _S2 in kbd (=loaded from kmx-file): replace LCTRL+RALT -> Ctrl+Alt + write deadkey-> FFFF + CODE_DEADKEY + deadkey into context
case 0xFFFF: // _S2 INFO in kbd (=loaded from kmx-file): replace LCTRL+RALT -> Ctrl+Alt + write deadkey-> FFFF + CODE_DEADKEY + deadkey into context
KMX_ConvertDeadkey(kbd, KMX_VKMap[i], VKShiftState[j], DeadKey, All_Vector, keymap , dk_Table); break;
default: // _S2 in kbd (=loaded from kmx-file): replace LCTRL+RALT -> Ctrl+Alt + switch keyvalues e.g. y<->z
default: // _S2 INFO in kbd (=loaded from kmx-file): replace LCTRL+RALT -> Ctrl+Alt + switch keyvalues e.g. y<->z
KMX_TranslateKeyboard(kbd, KMX_VKMap[i], VKShiftState[j], ch);
}
}
}

KMX_ReportUnconvertedKeyboardRules(kbd);

// _S2 use translated kbd and write data to rgkey[] then add things to rgkey[] to enable to write to kmx-format

// _S2 use translated kbd and write data to rgkey[] then add things to rgkey[] to enable to write to kmx-format
// _S2 INFO use translated kbd and write data to rgkey[] then add things to rgkey[] to enable to write to kmx-format
if(!KMX_ImportRules(kbd, All_Vector, &keymap, &KMX_FDeadkeys, bDeadkeyConversion)) { // I4353 // I4552
return FALSE;
}
@@ -528,7 +535,7 @@ KMX_WCHAR KMX_get_CharUnderlying_From_SCUnderlying_GDK(GdkKeymap *keymap, UINT
PKMX_WCHAR dky;
int VKShiftState_lin = map_VKShiftState_to_Lin(VKShiftState);
KMX_DWORD KeyvalOther = KMX_get_KeyvalsUnderlying_From_KeyCodeUnderlying_GDK(keymap,SC_OTHER, VKShiftState_lin, dky);

// _S2 < or >
if ((KeyvalOther >= deadkey_min) && (KeyvalOther >= deadkey_max)){
*DeadKey = *dky;
return 0xFFFF;
1 change: 1 addition & 0 deletions linux/mcompile/keymap/mcompile.h
SabineSIL marked this conversation as resolved.
Show resolved Hide resolved
Original file line number Diff line number Diff line change
@@ -42,6 +42,7 @@ PKMX_WCHAR KMX_incxstr(PKMX_WCHAR p);

UINT KMX_get_SCUnderlying_From_VKUS(KMX_DWORD VirtualKeyUS);

// _S2 why is this function not in keymap.cpp/h
KMX_WCHAR KMX_get_CharUnderlying_From_SCUnderlying_GDK(GdkKeymap *keymap, UINT VKShiftState, UINT SC_OTHER, PKMX_WCHAR DeadKey);

KMX_WCHAR KMX_get_VKUS_From_VKUnderlying_VEC(v_dw_3D All_Vector,KMX_DWORD SC_US);