Description: rtl-console

This file as text.
(active) Revisions in this set:
cee3065f9321d84ce0d76cf6c016a51814077c54,685d090bf2b5db6671b77e33a39c7594ec42fac3,b6f0fa055f03a70056f4b9447fde0c880b0233bf
c10c9607f1bdd0810304842349acb812718dee47,28235033d742b7fb75e08fd661724b754e2d9d45,58d899bf75308e6b69159dd531e1daef7b4b06e8
ba4d10ade0776de1c8bb10a6a41d3afe33c9ee5d,1d2414a2b880b7c4320a6a6105472b298dc72177,db8f3eb0a7d55df62b6345be3e140c9cd19ba76c
9a2e1b99cb890ef06a238b37b7873fd6efd6b31a,2593a69eaf0a96b39821dab37f402efc0fbbf4ab,18a752d20ab3e0b1fd835d01a62d0843f6141af7
0a511ddb30bb1af327136091a99123f8876b105b,7d638a1e390970658014f762bcd8c8d743bc2e9c,f05c6666fe97f365f376fb3b7d8d8c0f6b91fb3b
d681d51e38659918dcef5a7322d286ee94dcd698,3e135c02e79abff3fc26da2319c811b007074d7b,4f482516ddfff69c94bdcc0872ca6e6e8d04ed4e
aac266e82de41fb899e2e2be34b8ca3ebcc02389,a8da1b51309069b1c274793ddf47472af131df2f,baa6525a9e73f885381e94a7a8acf03c2d4f406f
5648bd9bdc283697604608f4c9b43f18f85ad047,55c9af86f44712251fccf54d518205b5c39bad5d,ac81dc399611d348fe81df7a4a96288b2f6d1e13
4ea55963ef78a168686761578fc8a3e840279ee6,0f61895194672675bfcce07389a8099c71ce2fca,ab67fe179567312d0c8124086e22ea60b23f1aa1
97807af58d437998181982b77bb62cdee0e24a30,2b1297c3970f9815a35c3694920c634e0a30c3e3,0f8db5f590342c65f72e2d26faa4691a1929a1a9
9dd394a5f74d358db135dc4ad948879096080080,9c63675368559a4b41e15624190c09a0c0cf9164,ac4f00af1eaf877d9d6288b9df0b3e5be5e2eb6e
258ed213e43932ba3a44dd47264269517887c669,ba1450f7e9488e1ae05c6bf46f3c13065180f642,c23df60ae5c3f16bda2ce2e7530368a65324caa5
529c76504137cb99b98d11f153999410a38f6bf4,d3310cc731fea0ed1e3cb2bb473d93f53f6fc24e,23957bddaaaadc8f174367f135c82ad2f4809677
5f9f97e75d35f70a93bf8f95f8f3416093ea48fb,1961c8f27c62a67561d9844f433ef6db5175a548,d68e48d1ead5f2ad7d5fab090f094679ff632db9
97995773a0fd567f3528d0729285420715460a87,3c89ec6f83f2581ca0a8d42705424464a48d27c8,0f1a20b8a48722ff00214869c30a7e99883bdb4c
2d68b7c7a9e175fed0ea5607fa78e8a766041859,af12abc939bf12fbb48bd2ff4759f5021c057311,9a82b32cde500d92b029746ad3c0847612f64187
7e16f651ea41f4657d327d97f266ec196dcb40db,d8d6c857e59bdedba1657b56aef66c3818b84726,889e50ed58004611c225ceb82e6559f573072679
774317788f1b2c3442ef78a759d9a60a8c7aff89,da978acfd97eaf08a66038b151f7f83cca83d769,982a4f4c63a4fcf424b9ff998f8aab846bced537
1e94304bf04a36497098ff282bdb0d64de6bb3db,41b93832c0ffe6c05cd2b14796642a9979414a6e,fe60708baca8ae1d15e81ae8f6c1aee2d2b09e85
bf3865a15a9429658c230b017d641e05cc38348b,0e7f562d19387dfd8e60a6f67dd1754496927888,dba71de45bd7b7750383aec27608e092783b50f1
bac79df17e156e6b2cdc457ee586b4cc1957d01d,504bd61c7f56caebec1cf8fd75bbe11d8fe7d1eb,36899f65cf83f3f6f23428c313c561b02bca139e
1c86c0de48b20fdb2dd80fe4c867f4243eb1aa9e,eaa60e45465f1ab252030ee8fb79d201a6872a3c,4034dcc2c68797c8159978fe6d5a68b550a589c6
ead1eab3d7342ac6476ee87e871f6214872e5b1f,b5575c0829373904a10e532dac7ef26764705ad6,e583341877ff53bff386d038c2e387a224751121
837659f4201aab4fee9c8678fe51ac8a3218ca16,c964eab85d726ede55c745c4a0b9187fada7c858,6aa8b718f46b6926836aff4e40cda9e868701eb8
86fa90b400d87c26c3136734d4d5eb408811f83a,8aacea88504fda6d66e6026e223ef01a87ac37b6,c6b0195c5f248a3d2154ccb9ce5dcdf62867e1ea
95ced4a7f55ce63bda60c0d3f6e37427650a0df7,8b31df70672bd6e7f949416ac18bff68326ded1c,571095773aa21f75755eb19c928568e0edd32ed2
17d6999726b0a5a77ff029e05c20558a8bb7bf2c,b8dfa1b8e68946db2ce52deb37c681eccba73418,f8320dff082272a41e6a2d6d0f8a5ba50b4ea80b
3f852e1444278f8d146f93cd39cdf239f0fc93e2,0d1fef96a1d0b4c7c70f9eed24b6a8997e3e109b,b13c8e3ef68607a7a37694fc1605dbb743e8650b
ea3124ed4af17414c0526ffac7a80b6ac6178842,cb6ba25e1b1a23ac2dfb3c17afb6ada075b54b9b,d5283cae7fa84ede4b82743a762bebd51ede8a55
d4913f490f30a2f4521573fadd6229f0a7e6402a,2746b0e035f558d7b67366a5633f929e73ed452e,453bdaaafc71dcc467528063395aa3188886df6d
11db30ab3d347f358f6ca5e86bc1640f8930c11c,4864aba47a325c28674bc9581ed2cde92b94b016,6109c5606624c41923a1b3bb5ba2107e586ef2a9
ec0fa8f46f25ec4f307486dc6fc9b7fe2d8c3bc0,834a6579d7ea7caab3b8e40d2a94ab6bda4dc198,818d3f2f6c112fd8c2fb70e7128e198eb7a0d1aa
fdfc40e86bcfaa5f45bdc87eb8fa74a01b3be8f6,cc643608a22e9410c9d6391f40a7ffd9480aa9eb,4944e9296fc9c3b55367babf31928e8fa7169369
ca1b315e2799cc3c94e9485312d1b7d2b36a60fb,7b71eefbdfeab44a93695f93dfefac81fa8d09fb,c669b8ac83adfd33d415f1e52cfca03a36cb74bb
c63534af487eb2972f258fcf5d84a91f9c902095,38ef18b4f4af21230d751a546f71065ecd3512af,3c3f43ac665385b2c259c5930da9452682ba3cb8
2f442ab6d09cee0c7675eee9578288609f6fc510,306cfa83e4f044665e23369d2ddd1bb513c8b839,b681e2cd7fb8c12eb55d374b2adc7e247706205f
2181e7c61d14e894cabe6bae050720561164b685,87777ea10b5285a27ac3cc4e387ee65392bbb6b1,af19d2a98285e96995898cfee325f97cd706a9b2
2abcf62a958476ba80b78b3c7875d9272d9f7e90,14af3cb5cb48b39589a28dfd34618cdcd6000ca0,a4db719eb4ff6d62a733c0042c0b10716b0f141f
df95478d19bceedd41a86dbc3c8c006e91b2a0a3,c6bce8915ff4b0a53ce295d6d14da5ebce9dd200,77279fb5ef2f4712d38ccd1fcab59f9f9e9802e1
ed670d2ce7ea9d99f1dbd915d5adbd41f5467137,ed0ec9468095a870767b3cf0e54a9603548bcd98,ce9e1e84669018bcd10c9cf3b163af37b66e0c54
40eede3a7a778d383ce2156a595069b320fd8aa0,1c961a498677e41dd210869e4877a27a21cbddfd,da569e952e0123da0e54570dfe32b5377e671939
15ff16d85218ad77941878493af4b120cb11da47,810e62b7c9ab3e56f6c49e4a2a5b2b297dfbfd0e,820e0dddcdce4beac67320a4a3d683f00db46883
51996d628079dbbf5f6aa74d55674a1ba1bad2d3,c1f6a7afdd035f96168c58b3af8e453962c69de7,e1a75bf6588284851b11c20f55791b496a764a86
8117c97d921cb0b56f4e958a0ddb7b6d34acf0dd,c0d57d03c232bafa06d80fee74b07e91300944c5,5264e48d90a97e2dcfc5410410d60c1ecc14a824
cc7c328a7cf5b236e53c26b6b517fee0006f45a1,4fe5e53fcc6236fa44441dcba69cc2d274febd3c,9894fe8082531f80de22c5dab342104b800d789a
d3de4b59512915d19f7f06dcdb3a836ad6816feb,5a8434234869887dae77479507af8bdc94c11cf0,6146aa6eb6d9ce9906aa14fc80cfb9446d74479d
db39d1a4e4af8d543db22dbf85abc1c0e4dc522e,2f82a084e838f90ed5329f707ea98d7e9908ff82,0b8a0fb495ded3cc71e4a44c6174216922ebcd36
6df6e4f7ff16ea4ed9db2a1215cd2b2f262a0331,af5f75fd5adc53383a654e8f9849117c2219fe52,41e32d0fbad6ad541959802590c4cdb12d857cbb
91ccf4e9c643917472cd55d42094c2a1c29e05ac,c881067b2395609448fdc7b49fce076b13ffae93,501b2d6c6f48a43a1cf695fac795abca45cd0536
6345a25304ed2de2cd28dadc24e4b5bc57d1a7c2,25a681295a2ee176bd00493b02addc8cbc384139,ac9feac2c86dfd118f017f7462072805be95ec97
aee5a58000dcc2f7c0dd6fa0bc6bffacf07470af,e79fbff1545e41545141a14e1c4953d301370c7a,61623c43ca57cce7deec020cf68e9cabc683ad57
3eae0213be485a9c4a7384796bb4639ae3317cc9,3564d5e34a9a3dfa02ddef37ec9498afa40848e0,28732fffa2f153ea55cd450a075ab484111a2e7a
0d9298f01aaaf8c137bef8ad4fc8f7a603e70db7,5121e2c259c12411ea77fac454a83e498f0bd7d8,921a72566f396e58fad456700d34cac40830d935
f49675c4fe286879131001986f7707fc3aad2ac6,f67c4b1c454ba1d62a8a83db3fa93752a2ee7457,95ba16228a8018187bf4e1a1d6324ede023efede
a8a778395b2dfbb73f1b64bf2e574e661354aee8,6df876e5460e0df1bd1f095507c335bb6fb1a30c,d1e239f3c497ecaa770cc162b3a2c7668fa7aab6
69e7ffadba6ea06c82ae706349b6e1e46ca072f5,aeb17a48fc82636dc9e82da0ecb3bfa2c6b05b18,8b1824ab3413c13f054f7e73494ff0c6449679c5
2141465c58344f56fde321bda4d34c04f7d35946,a0fe88b60fb73ee24c27c214f55907722dcfdaf3,9073615dea4160ccd37bccaa0dfd78a1d1338c63
5acf85a932b7afeed5d0c53e1160abaabe5115da,714c0a312fa350f0eb443da1902bfb97bdb49108,34b2fa27f509d210668625dfb9b25d36ac7f6c34
00a8bb2ae979befdd3ded4346a9865a62bca4722,0cad75f3189bdab4bc78ecf0a52071104d45c753,49a46d107c48335a8160a59696ce38bdc459aa0f
13f44e0284b03135489034cee932708fa0cb2303,34f50766e1e01a3cddb2c2b28da6ad08923cf020,57092e3336497c4e75f6bc48374a3a69aa3b8d11
2757e8f299731aa7b200e68d23bbe1828563a77b,befdeb9f237a85cc447859b1de6edd9aa902971c,97e62a49997405c8c835452614f47cd6ccba96f6
1ac1b12a3a4c01b902021903f2f9a37ec4328d76,a6c2ea2a98304f09289060b8a0b893aa40654f80,38fda54ec6f5031a3d3d9dfdead3b4f3d3f0d4a2
2a4661a99b92906b02eebe027535616e625d9a52,3da92b35a9c3fd8ec6fb444a309f214cf239f9e7,de8c8d3633e56f471d56c3c87bf1f9e6feb88f7e
ba0404766e1f0b6133bff32ec8c1f69338a84ada,40cd922b7be16279334a6ac0666863dcb067e95d,91d00a3a16be4b0f631da4854c7832255d98c9cc
0b298c398af7f7fd9e4aff9a489166227b1aabd5,cd7350a81a1ba97aa2a4848631598599a9bb5b66,ee030e31b7453658cc6ad05faeeecea29a44407d
d58d0a55541a134d03d37a4a007c22386f02c56b,f2cfcdab3bf2d6e8c84ee337cd6516579c6544ac,7fa4524305a2b32fd29a9019ab94f51b90afa36e
8d4ad501bde7289b3d5890efe508f4b00754d964,61c4c65b670c0b951cd02cb2f58879b70b9579e2,dcd81891550e7ebabdba5b3b069c1044d28d23f7
339d0d832aa2d37f0c5654fa429872a4258efa6a,ed107f8164dbe9c4e398c5803330f45c44659b24,aac79fba7b7b657ae13cd120aa8c11e6961b63b3
167d3e538f47a7a4a9210c677b22eaa2cabe5882,fce3b6539b8ad57a9748826595a4b12d4dd7ea69,524cb571f42e2c1101c807948e043a5d8b8c30f3
f69a0f01ec2aacaffc57b9d29d665accfe09fc6a,6d7b4b4bb572151f22681e59cf9d011c381260fb,c43d9777ae015d98482470f9c10e6ba7d14a8def
ca233abc7a7fa62a1e1976d46d59855ed5e08576

Clicking a revision will expand files
 


+ introduced the TEnhancedKeyEvent record
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


+ added GetEnhancedKeyEvent and PollEnhancedKeyEvent to TKeyboardDriver
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/go32v2/keyboard.pp
  • M packages/rtl-console/src/inc/keybrdh.inc
  • M packages/rtl-console/src/msdos/keyboard.pp
  • M packages/rtl-console/src/netware/keyboard.pp
  • M packages/rtl-console/src/netwlibc/keyboard.pp
  • M packages/rtl-console/src/os2commn/keyboard.pp
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/win/keyboard.pp
  • M packages/rtl-console/src/win16/keyboard.pp


+ added functions GetEnhancedKeyEvent and PollEnhancedKeyEvent and implemented
default fallbacks, which revert to calling GetKeyEvent and PollKeyEvent for
drivers that don't support the enhanced functions
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc
  • M packages/rtl-console/src/inc/keybrdh.inc


+ also invoke TranslateKey to get more data (either Ascii or virtual key translation)
when converting a TKeyEvent to TExtendedKeyEvent
+ also fill UnicodeChar from AsciiChar if AsciiChar is in the standard Ascii range
(#0..#127)
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc


* switch to using ReadConsoleInputW instead of ReadConsoleInputA in the windows
keyboard unit. This way the console input is read using Unicode and is later
translated to the OEM character set via WideCharToMultiByte. This is will
allow returning Unicode character codes once enhanced key events are
implemented.
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp
  • M packages/rtl-console/src/win/winevent.pp


- removed redundant setting of result in TranslateKey
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ initial implementation of a windows key event to TEnhancedKeyEvent conversion function
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ added the NilEnhancedKeyEvent const (equivalent to the value 0 of TKeyEvent)
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


* use x:=NilEnhancedKeyEvent instead of FillChar for setting an enhanced key
event variable to 0
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ overloaded the = operator for pairs of TEnhancedKeyEvent
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc
  • M packages/rtl-console/src/inc/keybrdh.inc


+ implemented SysGetEnhancedKeyEvent and SysPollEnhancedKeyEvent for win32/win64
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


* use :=NilEnhancedKeyEvent instead of FillChar to clear the result of ConvertToEnhancedKeyEvent
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc


+ implemented generic conversion from enhanced to legacy key events as well
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc


* handle nil key events properly in ConvertToLegacyKeyEvent
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc


+ switch the win32/win64 keyboard unit to use enhanced key events (they are
converted to legacy key events by the generic converter in keyboard.inc)
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ introduced TEnhancedShiftState. Not used yet, but will eventually be used inside TEnhancedKeyEvent.
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


+ added generic Shift, Ctrl and Alt values to TEnhancedShiftState
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


* TEnhancedKeyEvent.ShiftState changed to TEnhancedShiftState
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc
  • M packages/rtl-console/src/inc/keybrdh.inc
  • M packages/rtl-console/src/win/keyboard.pp


+ detect and return the state of num lock, caps lock and scroll lock in the enhanced shift state on win32/win64
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ introduce TFPKeyEventRecord - a wrapper record around TKeyEventRecord, so it
can store additional data (not added yet) to our keyboard events; this way we
can later add extended shift state (e.g. distinguishing between left and right
shift), etc.
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ add enhanced shift state to the TFPKeyEventRecord object and call
transEnhShiftState only in HandleKeyboard, when the new key event is added to
the queue. This way we can use GetKeyState to determine the parts of the shift
state that are not in dwControlKeyState.
* transEnhShiftState moved to be a local function inside HandleKeyboard to
ensure it's not called outside this procedure.
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ introduced TEnhancedShiftStateElement - an enum type, containing the elements of TEnhancedShiftState set
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


+ distinguish between left and right shift and detect num/caps/lock key down using GetKeyState
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


- get rid of the ss:TEnhancedShiftState local variable in TranslateEnhancedKeyEvent
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ introduced unit UnixKvmBase, which is going to contain miscellaneous routines,
commonly used by the unix keyboard, video and mouse units. Currently, it only
contains the UTF8Enabled function, which was moved away from the video unit
and which will also be used by the keyboard unit in the future, as soon as
that unit also gets UTF-8 input support.
Commit consists out of
  • M .gitattributes
  • M packages/rtl-console/fpmake.pp
  • A packages/rtl-console/src/unix/unixkvmbase.pp
  • M packages/rtl-console/src/unix/video.pp


+ added a global variable Utf8KeyboardInputEnabled in the implementation of the
unix keyboard unit. Initialize it in SysInitKeyboard with the value, returned
by UnixKvmBase.UTF8Enabled (the same function that checks whether UTF-8 output
should be enabled in the video unit).
Commit consists out of
  • M packages/rtl-console/fpmake.pp
  • M packages/rtl-console/src/unix/keyboard.pp


+ return enhanced key events in the unix keyboard driver; unicode not supported yet
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ handled the 'center' (numpad 5) key properly in linux, xterm and gnome
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* gnome3 (clarifies gnome version tested)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* fixed Shift-F1..F8 on the Linux console
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ added shift state to the escape sequence structure
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ add shift state to TTreeElement and DoAddSequence
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* modified ReadKey to return TEnhancedKeyEvent (partially constructed - contains only asciichar and virtualscancode)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* moved ReadKey after GetEnhShiftState, so it can be used to return the shift state
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* return the shiftstate in ReadKey
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* the variables only used by ReadKey made local, and not visible in its nested routines
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* simplify an 'if A' followed by an 'if not A' sequence to 'if A then...else...'
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* fixed off-by-one error when putting a character back into the input buffer
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ introduced PutBackIntoInBuf - procedure that returns a key back into InBuf
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed the IsAlt parameter from ReadKey, because it is not used
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed the IsAlt local variable, because it is not used
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed some no longer used commented out code
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed FAltKey, because it is not used
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* set char to 27 for the Esc key (for the linux patched console) in the sequence table
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* handle sequences that return both char and scan code
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* the type of key_sequence.char changed from byte to 0..127 to enforce ASCII only use
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed check for the kbEsc scan code, since this is now made redundant,
thanks to the fact that the sequence can return both non-zero AsciiChar
and ScanCode at the same time.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed commented out code
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- removed commented out code
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* simplified the initialization of MyScan, since ReadKey now returns a record, that contains both AsciiChar and ScanCode
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* initialize SState from the shift state, returned by ReadKey
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* moved the 'if not again' part after the repeat..until loop; it behaves the same, but improves code readability
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ added UTF-8 keyboard input support
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* reject surrogate characters when decoding UTF-8 keyboard input
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* preserve the unicode keycode returned from ReadKey in the result of SysGetEnhancedKeyEvent
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ add ConvertEnhancedToLegacyShiftState to the interface of unit keyboard
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


* fixed the linux keyboard patching table for handling F11 and F12 properly
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ also patch Ctrl+F1..Ctrl+F12 when running as root on the linux console, so they can also be read properly
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* fix typo in comment
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


* fix typo in comment
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ added essAltGr to TEnhancedShiftState and added proper AltGr handling for the Linux console
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc
  • M packages/rtl-console/src/inc/keybrdh.inc
  • M packages/rtl-console/src/unix/keyboard.pp


+ added proper Windows AltGr support for the enhanced shift state
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ enable the enhanced key events permanently on windows
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


- removed the no-longer-used code for dealing with the legacy key events
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


* fix typo in comment
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


* CheckAltGr moved above HandleKeyboard, because it will be invoked from there also
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


* update the keyboard layout info before every keystroke, since Windows can
change between multiple layouts, while the program is running
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


* optimized UpdateKeyboardLayoutInfo, so it only calls GetKeyboardLayout once
and only performs the HasAltGr check in case the keyboard layout has actually
changed
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


+ added comments, explaining the enhanced shift states in detail
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


+ added comment about a Windows bug, which causes the keyboard layout change
detection code to not work
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


* refactored slightly the BEOS ifdef in unixkvmbase.utf8enabled
Commit consists out of
  • M packages/rtl-console/src/unix/unixkvmbase.pp


* check the LC_CTYPE env var instead of LANG on OpenBSD to check whether UTF-8
is enabled
Commit consists out of
  • M packages/rtl-console/src/unix/unixkvmbase.pp


amiga: Crt, fixed cursor x and y position
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


Amiga: Video unit, do not draw Cursor if outside the window (would write over the window border)
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


Amiga: keyboard prevent double keys on GetKeyEvent, if called without PollKeyEvent
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp


Amiga: special CRT unit (named vidcrt) based on video unit
Commit consists out of
  • M .gitattributes
  • M packages/rtl-console/fpmake.pp
  • A packages/rtl-console/src/amicommon/vidcrt.pp


rtl-console: fixed keypressed implementation in the Amiga VidCRT unit
Commit consists out of
  • M packages/rtl-console/src/amicommon/vidcrt.pp


Amiga: optimized video unit drawing
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


Amiga: make the fullscreen video draggable, map Help Key to F20
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/amicommon/video.pp


+ initial attempt at defining an enhanced video cell record for the Unicode support in the video unit
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


+ added the EnhancedVideoBuf global variable to the video unit
Commit consists out of
  • M packages/rtl-console/src/inc/videoh.inc


+ introduced TVideoDriver.InitEnhancedDriver
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/go32v2/video.pp
  • M packages/rtl-console/src/inc/videoh.inc
  • M packages/rtl-console/src/msdos/video.pp
  • M packages/rtl-console/src/netware/video.pp
  • M packages/rtl-console/src/netwlibc/video.pp
  • M packages/rtl-console/src/os2commn/video.pp
  • M packages/rtl-console/src/unix/video.pp
  • M packages/rtl-console/src/win/video.pp
  • M packages/rtl-console/src/win16/video.pp


+ introduced OldEnhancedVideoBuf
Commit consists out of
  • M packages/rtl-console/src/inc/videoh.inc


* use UnicodeString instead of WideString in TEnhancedVideoCell
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


+ introduced initialization of the video unit in enhanced (Unicode) mode
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


* formatting
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ support both legacy and enhanced video buffers in Video.ClearScreen
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


* fixed off by one errors in the new video unit routines
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ added operator = for comparison of TEnhancedVideoCell records
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


* switched the windows video driver to use the enhanced (unicode) video buffer
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


* use CP_OEMCP to convert characters in LegacyChar2ExtendedGraphemeCluster
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


- removed useunicodefunctions from the windows video unit
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


- removed the cp850 code page mapping from the windows video unit (it is no longer used)
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


- removed unused variables and types from Video.SysUpdateScreen
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


* LineBuf converted to dynarray (to avoid buffer overflow for too big consoles) and made global to avoid reallocating it on the heap on each screen update
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


+ initial attempt to switch the unix video unit to enhanced (unicode) mode. Only
UTF-8 is supported for now, and it's not yet implemented for Linux VCSA.
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


+ introduced video.StringDisplayWidth
Commit consists out of
  • M packages/rtl-console/fpmake.pp
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc
  • M packages/rtl-console/src/unix/video.pp


+ introduced Video.ExtendedGraphemeClusterDisplayWidth
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


+ double width character support in the unix video unit
Commit consists out of
  • M packages/fv/examples/testuapp.pas
  • M packages/rtl-console/src/unix/video.pp


* reset LastCharWasDoubleWidth in the beginning of every line
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


+ bug fix in the rendering of double width characters
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


+ another double width rendering bugfix
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* fixed handling of non-BMP characters in Video.ExtendedGraphemeClusterDisplayWidth
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


* fixed compilation of the video unit on Windows
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


* convert unicode to the cp437 dingbats range (#0..#31,#127) in ExtendedGraphemeCluster2LegacyChar
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ use a table convert_lowascii_to_Unicode to convert unicode to cp437 lowascii and vice versa
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ also convert characters in the range #128..#255 in ExtendedGraphemeCluster2LegacyChar
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


- removed commented out code
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ handle enhanced video buffer resizing
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ added graphemebreakproperty and eastasianwidth to the video unit uses clauses of all the remaining operating systems
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/go32v2/video.pp
  • M packages/rtl-console/src/msdos/video.pp
  • M packages/rtl-console/src/netware/video.pp
  • M packages/rtl-console/src/netwlibc/video.pp
  • M packages/rtl-console/src/os2commn/video.pp
  • M packages/rtl-console/src/win16/video.pp


* fixed compilation under Linux
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ added functions for getting/setting the current code page, when using the
legacy (non-Unicode) video buffer
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


+ added checks for certain code pages that should not be allowed to be set in Video.ActivateCodePage
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ introduced legacy code page functions to the video driver itself (they can
optionally be implemented for operating systems with non-unicode consoles)
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/go32v2/video.pp
  • M packages/rtl-console/src/inc/videoh.inc
  • M packages/rtl-console/src/msdos/video.pp
  • M packages/rtl-console/src/netware/video.pp
  • M packages/rtl-console/src/netwlibc/video.pp
  • M packages/rtl-console/src/os2commn/video.pp
  • M packages/rtl-console/src/unix/video.pp
  • M packages/rtl-console/src/win/video.pp
  • M packages/rtl-console/src/win16/video.pp


* wire up the code page functions to call the driver functions in case of a legacy driver
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ implemented GetSupportedCodePageCount/GetSupportedCodePage for unicode consoles
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/go32v2/video.pp
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/msdos/video.pp
  • M packages/rtl-console/src/netware/video.pp
  • M packages/rtl-console/src/netwlibc/video.pp
  • M packages/rtl-console/src/os2commn/video.pp
  • M packages/rtl-console/src/unix/video.pp
  • M packages/rtl-console/src/win/video.pp
  • M packages/rtl-console/src/win16/video.pp


* use the current legacy console code page in Enhanced2Legacy
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


* converted internal_codepage and external_codepage to the TSystemCodePage type.
Removed the unused codepage enum constants and sets.
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* fixed bug in decide_codepages, which was checking the wrong variable for is_vga_code_page
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


- get rid of internal_codepage. Set CurrentLegacy2EnhancedTranslationCodePage instead.
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* converted tabs to spaces
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* converted comments to utf-8, so the file is readable in modern text editors
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* return RawByteString in the transform function result
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* use FPC's integrated codepage conversion for non-Unicode unix consoles
Commit consists out of
  • M .gitattributes
  • D packages/rtl-console/src/unix/convert.inc
  • M packages/rtl-console/src/unix/video.pp


Amiga, MorphOS, AROS: unified function results to LongBool in amigados unit, correct type for GFXBase
Commit consists out of
  • M packages/amunits/src/coreunits/agraphics.pas
  • M packages/amunits/src/coreunits/amigados.pas
  • M packages/arosunits/src/amigados.pas
  • M packages/morphunits/src/agraphics.pas
  • M packages/morphunits/src/amigados.pas
  • M packages/os4units/src/amigados.pas
  • M packages/rtl-console/src/amicommon/crt.pp


Amiga video unit: fixed not initialized TInputEvent field
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp


Amiga video unit: fixed not initialized TInputEvent field, 2nd try, now the deadkeys actually work as they should
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp


Amiga: Workbench 1.x compatibilty via the AMIGA_V1_2_ONLY define
Commit consists out of
  • M packages/ami-extra/src/muihelper.pas
  • M packages/amunits/src/coreunits/agraphics.pas
  • M packages/amunits/src/coreunits/amigados.pas
  • M packages/amunits/src/coreunits/amigalib.pas
  • M packages/amunits/src/coreunits/exec.pas
  • M packages/amunits/src/coreunits/intuition.pas
  • M packages/amunits/src/coreunits/keymap.pas
  • M packages/amunits/src/coreunits/utility.pas
  • M packages/amunits/src/utilunits/hisoft.pas
  • M packages/amunits/src/utilunits/wbargs.pas
  • M packages/fcl-process/src/amicommon/pipes.inc
  • M packages/rtl-console/src/amicommon/crt.pp
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/amicommon/video.pp


Amiga: Implemented GetVar for 1.x
Commit consists out of
  • M packages/amunits/src/coreunits/amigados.pas
  • M packages/rtl-console/src/amicommon/video.pp


amiga: FPC_DOKEYCONVERSION env var if key conversation Ansi to IBM should be done for every key
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp


amiga: removed some debugging settings
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


* rtl-console: always compile Amiga KVM units in OBJFPC mode. This makes it easier to compile these units outside of this package
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/amicommon/mouse.pp
  • M packages/rtl-console/src/amicommon/video.pp


* rtl-console: slight refactor of how Amiga SysUpdateScreen() addresses the videobuf. this results in slightly more optimal code with less complex addressing, which helps low-end processors
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


* rtl-console: on Amiga, remove the initial testing of the buffer for changes. it just slowed things down with frequent partial updates, especially on low-end processors with limited or no data cache
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


* rtl-console: on Amiga added a custom screen update call, to do partial screen updates. doing a full update can be very slow on low-end systems (checking the entire screen buffer every time), so software tuned for these can now request partial updates, when the updated already is already known
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


* rtl-console: generalized the partial screen update feature which was added to Amiga. the function was renamed to UpdateScreenArea(). it's still an empty call on other platforms, that falls back to UpdateScreen() but the infrastructure is now there to support it.
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/go32v2/video.pp
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc
  • M packages/rtl-console/src/msdos/video.pp
  • M packages/rtl-console/src/netware/video.pp
  • M packages/rtl-console/src/netwlibc/video.pp
  • M packages/rtl-console/src/os2commn/video.pp
  • M packages/rtl-console/src/unix/video.pp
  • M packages/rtl-console/src/win/video.pp
  • M packages/rtl-console/src/win16/video.pp


* rtl-console: fix ; in the previous commit
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


rtl-console/amicommon: set the window's UserPort to nil before closing, as recommended
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


rtl-console: use videoDefaultFlags variable on Amiga for WA_Flags. disable smartrefresh in full screen, also respect the FPC_VIDEO_SIMPLEREFRESH env var
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


rtl-console: quickfix for Amiga UpdateScreenArea() so it properly updates multiple lines
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


+ support conversion between legancy and enhanced console in UpdateScreenArea
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


* Amiga compilation fix after merge of unicodekvm branch
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


* win16 compilation fix after merge of unicodekvm branch
Commit consists out of
  • M packages/rtl-console/src/win16/video.pp


AmigaOS4: fix compilation for double UTF8Encode in library unit and system
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ introduced the CurrentLegacy2EnhancedKeyEventTranslationCodePage private
variable in the keyboard unit. It is used for translating AsciiChar to
UnicodeChar in non-enhanced (i.e. non-unicode) consoles. It can be initialized
in SysInitKeyboard in non-unicode consoles, so they can return unicode
characters as well.
Commit consists out of
  • M packages/rtl-console/src/inc/keyboard.inc


+ get the current DOS code page in the go32v2 keyboard unit, so enhanced key
events Unicode characters are returned correctly (provided that the cpall and
fpwidestring unit are included as well)
Commit consists out of
  • M packages/rtl-console/src/go32v2/keyboard.pp


+ get the current code page in the msdos keyboard unit as well
Commit consists out of
  • M packages/rtl-console/src/msdos/keyboard.pp


+ support shift+pgup, shift+pgdn, ctrl+shift+pgup and ctrl+shift+pgdn in the
unix keyboard unit
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


+ added properties TEnhancedVideoCell.ForegroundColor and .BackgroundColor,
which can store up to 256 colors
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


- removed spaces at end of line
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


- delete disabled code
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* attr2ansi changed to accept separate foreground and background color
parameters, instead of single attribute bytes. No functional changes.
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* use separate variables for tracking the foreground and background colors
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* copy operator of TEnhancedVideoCell now copies the 8-bit foreground and background colors
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ added 256 color support to the Unix console video unit
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp
  • A packages/rtl-console/tests/video3.pp


* fixed the 256-color support for konsole
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* changed the video unit initialization sequence, so that the startup cursor
position is preserved at exit (or when switching to the user screen in the
IDE), when running in xterm or compatible (gnome-terminal, konsole, etc.)
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


+ introduced TEnhancedVideoCell.EnhancedVideoAttributes, based on ECMA-48 and xterm
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc


+ implemented enhanced video attributes in the Unix video unit
+ added test for the enhanced video attributes
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp
  • A packages/rtl-console/tests/video4.pp


* convert advanced video attributes to legacy attributes (emulating bold, italic,
etc. using colors). Also, the blink attribute is converted correctly now.
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


+ use the DEC special graphics character set to draw some non-ASCII characters
on Unix consoles that don't support UTF-8 (or don't have it enabled)
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


+ use some ASCII replacements for certain non-ASCII characters (used by Free
Vision) on Unix consoles that don't support UTF-8
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


* PChar -> PAnsiChar
Commit consists out of
  • M packages/rtl-console/src/amicommon/crt.pp
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/amicommon/vidcrt.pp
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/emx/crt.pp
  • M packages/rtl-console/src/go32v2/crt.pp
  • M packages/rtl-console/src/go32v2/vesamode.pp
  • M packages/rtl-console/src/inc/crt.inc
  • M packages/rtl-console/src/inc/crth.inc
  • M packages/rtl-console/src/inc/keyboard.inc
  • M packages/rtl-console/src/inc/keybrdh.inc
  • M packages/rtl-console/src/inc/keyscan.inc
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/msdos/crt.pp
  • M packages/rtl-console/src/msdos/vesamode.pp
  • M packages/rtl-console/src/netware/crt.pp
  • M packages/rtl-console/src/netware/nwsys.inc
  • M packages/rtl-console/src/netwlibc/crt.pp
  • M packages/rtl-console/src/os2/crt.pp
  • M packages/rtl-console/src/unix/crt.pp
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/mouse.pp
  • M packages/rtl-console/src/unix/terminfo.pp
  • M packages/rtl-console/src/unix/unixkvmbase.pp
  • M packages/rtl-console/src/unix/video.pp
  • M packages/rtl-console/src/watcom/crt.pp
  • M packages/rtl-console/src/win/crt.pp
  • M packages/rtl-console/src/win/keyboard.pp
  • M packages/rtl-console/src/win/video.pp
  • M packages/rtl-console/src/win16/crt.pp
  • M packages/rtl-console/tests/kbd1.pp
  • M packages/rtl-console/tests/kbd2.pp
  • M packages/rtl-console/tests/kbdbdump.pp
  • M packages/rtl-console/tests/kbddump.pp
  • M packages/rtl-console/tests/kbdutil.pp
  • M packages/rtl-console/tests/video4.pp
  • M packages/rtl-console/tests/vidutil.pp


* Dotted filenames for package rtl-console
Commit consists out of
  • A packages/rtl-console/namespaced/System.Console.Crt.pp
  • A packages/rtl-console/namespaced/System.Console.Keyboard.pp
  • A packages/rtl-console/namespaced/System.Console.Mouse.pp
  • A packages/rtl-console/namespaced/System.Console.Terminfo.pp
  • A packages/rtl-console/namespaced/System.Console.Unixkvmbase.pp
  • A packages/rtl-console/namespaced/System.Console.Vesamode.pp
  • A packages/rtl-console/namespaced/System.Console.Vidcrt.pp
  • A packages/rtl-console/namespaced/System.Console.Video.pp
  • A packages/rtl-console/namespaced/System.Console.Winevent.pp
  • A packages/rtl-console/namespaces.lst
  • M packages/rtl-console/src/amicommon/crt.pp
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/amicommon/mouse.pp
  • M packages/rtl-console/src/amicommon/vidcrt.pp
  • M packages/rtl-console/src/amicommon/video.pp
  • M packages/rtl-console/src/emx/crt.pp
  • M packages/rtl-console/src/go32v2/crt.pp
  • M packages/rtl-console/src/go32v2/mouse.pp
  • M packages/rtl-console/src/go32v2/vesamode.pp
  • M packages/rtl-console/src/go32v2/video.pp
  • M packages/rtl-console/src/msdos/crt.pp
  • M packages/rtl-console/src/msdos/keyboard.pp
  • M packages/rtl-console/src/msdos/mouse.pp
  • M packages/rtl-console/src/msdos/vesamode.pp
  • M packages/rtl-console/src/msdos/video.pp
  • M packages/rtl-console/src/netware/crt.pp
  • M packages/rtl-console/src/netware/keyboard.pp
  • M packages/rtl-console/src/netware/mouse.pp
  • M packages/rtl-console/src/netware/video.pp
  • M packages/rtl-console/src/netwlibc/crt.pp
  • M packages/rtl-console/src/netwlibc/keyboard.pp
  • M packages/rtl-console/src/netwlibc/mouse.pp
  • M packages/rtl-console/src/netwlibc/video.pp
  • M packages/rtl-console/src/os2/crt.pp
  • M packages/rtl-console/src/os2commn/keyboard.pp
  • M packages/rtl-console/src/os2commn/mouse.pp
  • M packages/rtl-console/src/os2commn/video.pp
  • M packages/rtl-console/src/unix/crt.pp
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/mouse.pp
  • M packages/rtl-console/src/unix/terminfo.pp
  • M packages/rtl-console/src/unix/unixkvmbase.pp
  • M packages/rtl-console/src/unix/video.pp
  • M packages/rtl-console/src/watcom/crt.pp
  • M packages/rtl-console/src/win/crt.pp
  • M packages/rtl-console/src/win/keyboard.pp
  • M packages/rtl-console/src/win/mouse.pp
  • M packages/rtl-console/src/win/video.pp
  • M packages/rtl-console/src/win/winevent.pp
  • M packages/rtl-console/src/win16/crt.pp
  • M packages/rtl-console/src/win16/keyboard.pp
  • M packages/rtl-console/src/win16/mouse.pp
  • M packages/rtl-console/src/win16/video.pp


Branch to save Enhanced video buffer or Legacy video buffer (Unix).
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


Implementation of Kitty keys and xterm - ModifyOtherKeys (Unix keyboard)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/video.pp


Additional function key escape sequences for rxvt (urxvt)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Go32v2 and msdos mouse is zero based. Fixed GetMouseX, GetMouseY and SetMouseXY.
Commit consists out of
  • M packages/rtl-console/src/go32v2/mouse.pp
  • M packages/rtl-console/src/msdos/mouse.pp


make file gitlab web interface friendly
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


Console keyboard shift states in Unix
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Multi byte mouse report format for rxvt (Unix)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/mouse.pp


rtl-console/amicommon: added a way to redefine colors externally in the video unit
Commit consists out of
  • M packages/rtl-console/src/amicommon/video.pp


Escape key press while rapidly move mouse don't print escape sequence on screen
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Exposes in interface ConvertToLegacyKeyEvent.
Commit consists out of
  • M packages/rtl-console/src/inc/keybrdh.inc


Show mouse with new Free Vision Enhanced Video in linux console.
Commit consists out of
  • M packages/rtl-console/src/unix/mouse.pp


GPM report two additional buttons.
Commit consists out of
  • M packages/rtl-console/src/unix/mouse.pp


Hide debug info. Use constant in expr instead of variable.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Mouse wheel generate only down action.
Commit consists out of
  • M packages/rtl-console/src/inc/mouse.inc
  • M packages/rtl-console/src/inc/mouseh.inc


Mouse wheel for msdos.
Commit consists out of
  • M packages/rtl-console/src/msdos/mouse.pp


Mouse wheel for go32v2.
Commit consists out of
  • M packages/rtl-console/src/go32v2/mouse.pp


Fix assembler syntax error in last commit
Commit consists out of
  • M packages/rtl-console/src/go32v2/mouse.pp


Do not localize shortcut keys when using Kitty keyboard protocol.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Kitty keyboard protocol fix F1, F2 and F4 keys.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fixed hotkeys problems left after https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/1138
See https://gitlab.com/freepascal.org/fpc/source/-/merge_requests/1138#note_2734591449 for details
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Support non-lating Alt+char hotkeys in legacy terminals also
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Added support for win32 input mode

Spec:
https://github.com/microsoft/terminal/blob/main/doc/specs/%234999%20-%20Improved%20keyboard%20handling%20in%20Conpty.md

Fixes gitlab 0040672
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


TV_INPUT env var for manual input protocol selection
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- Fixed kitty input mode accidently broken by win32 input mode implementation
- Fixed Shift+Tab behavior under win32 input mode
- Fixed Del key behavior in win32 input mode
- Fixed Alt+non_latin_letters and Ctrl+arrows in legacy mode
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


- Added simple keyboard events debug tool
- Fixed and error causing kitty protocol being used even if other one is selected as preferred
Commit consists out of
  • A packages/fv/examples/keytest.pas
  • M packages/rtl-console/src/unix/video.pp


Apply 1 suggestion(s) to 1 file(s)

Co-authored-by: Margers
Commit consists out of
  • M packages/rtl-console/src/unix/video.pp


sync with video.pp
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fixed doubling of ESC key events in kitty and legacy modes
Fixed wrong condition (Alt+NonLatin top menu hotkeys now work again)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


This commit significantly enhances text input and editing in non-Unicode environments on Unix-like systems. The video unit now automatically detects the appropriate legacy (OEM) codepage based on the LANG environment variable, replacing the previous hardcoded default. This allows applications using Free Vision, like the built-in editor, to correctly display at least the most frequently occurring symbols in various legacy encodings. Furthermore, the keyboard unit now correctly translates Unicode key input into the detected single-byte codepage, enabling proper input of national characters, such as Russian, even in non-Unicode builds.

Based on
https://github.com/elfmz/far2l/blob/14c12dcfe29b42ac6870716bcb58012656b468a1/WinPort/src/APIStringCodepages.cpp
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/inc/videoh.inc
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/video.pp


Fixed dotted unit names
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fix types according to
https://gitlab.com/freepascal.org/fpc/source/-/commit/38fda54ec6f5031a3d3d9dfdead3b4f3d3f0d4a2#note_2840311283
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fix lately broken Xterm Modify Other Keys keyboard protocol implementation.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fix kitty keyboard protocol keys F1, F2, F4 (2nd attempt).
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fix Video unit doted name in uses.
Commit consists out of
  • M packages/rtl-console/src/amicommon/keyboard.pp
  • M packages/rtl-console/src/amicommon/vidcrt.pp
  • M packages/rtl-console/src/go32v2/mouse.pp
  • M packages/rtl-console/src/go32v2/vesamode.pp
  • M packages/rtl-console/src/msdos/mouse.pp
  • M packages/rtl-console/src/msdos/vesamode.pp
  • M packages/rtl-console/src/os2commn/mouse.pp
  • M packages/rtl-console/src/win16/crt.pp
  • M packages/rtl-console/src/win16/keyboard.pp


* Easy-to-use Ansi escape sequences
Commit consists out of
  • A packages/rtl-console/demo/demoansi.pp
  • M packages/rtl-console/fpmake.pp
  • A packages/rtl-console/namespaced/System.Console.Ansi.pp
  • M packages/rtl-console/namespaces.lst
  • A packages/rtl-console/src/inc/fpansi.pp


Mouse is zero base. Fix it for go32v2 and msdos.
Commit consists out of
  • M packages/rtl-console/src/go32v2/mouse.pp
  • M packages/rtl-console/src/msdos/mouse.pp


Allow arbitrary screen dimensions on Windows console resize. As well full screen allowed.
Commit consists out of
  • M packages/rtl-console/src/win/video.pp


Adaptive Windows console size.
Commit consists out of
  • M packages/rtl-console/src/inc/videoh.inc
  • M packages/rtl-console/src/win/video.pp


Enable mouse for BSD. No mouse wheel for BSD.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/mouse.pp


Kitty keys: quote key.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Disable Kitty keys for Haiku. Escape sequence have different meaning.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/unix/video.pp


Enable some keys for Haiku terminal emulator.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Fix for Win32 input keyboard protocol.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


FindSequence expose TTreeElements in interface.
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Video tear fix for legacy video buffer resize. Fixes issue gitlab 0041688.
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc


Optimize legacy to enhanced video converter routine. Properly fixes issue gitlab 0041688.
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc
  • M packages/rtl-console/src/unix/video.pp


Properly initialize obtained screen buffer.
Commit consists out of
  • M packages/rtl-console/src/inc/video.inc

(inactive) Revisions in this set 398c6519a541c47a6d86271daae53b2562fee0ee,55b8fd6e9425fe627352930a716c0871393e7d96,4ed7bd9f668123b7a20a2f871ed36a024e41596f,e1e939c844b4c285cdb52be178b938f5e9a44a0e,f227efb2589e121cbeed03ab1024b89b25674615,1853e94b98100336410c9093ce5f6ff2c63a3bf4,ae81a69cb15a979a00afb3ed7a1bae5022d33bff,ca03194927cb28f787c797149e92e6c219bc7b6c,ede78f682bd58132356bc6a29cfcf70df0dfad70,8fd249807e3d75c74c648b350256a5584ea1cf02,bda49f7219492ee7a3969790839de81de513b3b8,f0257e8424bc88a93e3b082c6e733dfe28bf94a4,beb8e63075e5caeeb13b3b6b8c4de57bcaa7b103,89af29c27f121fd1327795b5dc781bb0a2fce5a6,5e5764ce309467cf04b6de28ed0664175b7aa79e,6920f0d068223679b4ac0a69fbcffd02e26747fa


* return the proper shift state in the i8086-msdos keyboard unit GetKeyEvent and
PollKeyEvent (previously, it was truncated, due to the native int being 16-bit
on i8086)
Commit consists out of
  • M packages/rtl-console/src/msdos/keyboard.pp


* fixed bug, where left and right shift were swapped in the i8086-msdos
keyboard unit.
Commit consists out of
  • M packages/rtl-console/src/msdos/keyboard.pp


* fixed bug, where left and right shift were swapped in the i386-go32v2
keyboard unit as well.
Commit consists out of
  • M packages/rtl-console/src/go32v2/keyboard.pp


+ support 83/84-key keyboards in the go32v2 keyboard unit
Commit consists out of
  • M packages/rtl-console/src/go32v2/keyboard.pp


Enabled mouse support for macOS and *BSD. Free Vision apps can now make use of the mouse for these O/Ss.
Commit consists out of
  • M packages/rtl-console/src/unix/mouse.pp


* attempt to fix 0039900
Commit consists out of
  • M packages/rtl-console/src/unix/mouse.pp


Block insert cursor. Block cursor for overwrite mode in xterm
Commit consists out of
  • M packages/ide/weditor.pas
  • M packages/rtl-console/src/unix/video.pp


Enable mouse in pterm (putty)
Commit consists out of
  • M packages/rtl-console/src/unix/mouse.pp


Windows console mouse - scroll up and down events
Commit consists out of
  • M packages/rtl-console/src/inc/mouseh.inc
  • M packages/rtl-console/src/win/mouse.pp


In console enable mouse buttons browse back/forward (xterm Unix)
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Silent key apostrophe. Fixed problem for Windows Textmode IDE in Linux under Wine.
Commit consists out of
  • M packages/rtl-console/src/win/keyboard.pp


RawReadString is limited to length of shortstring, don't read more than that
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


Correct mouse button mapping under Unix
Commit consists out of
  • M packages/rtl-console/src/unix/keyboard.pp


No mouse up events for mouse wheel.
Commit consists out of
  • M packages/rtl-console/src/inc/mouse.inc
  • M packages/rtl-console/src/unix/keyboard.pp
  • M packages/rtl-console/src/win/mouse.pp


Report only uniq mouse events in DOS.
Commit consists out of
  • M packages/rtl-console/src/go32v2/mouse.pp
  • M packages/rtl-console/src/msdos/mouse.pp


Windows mouse scroll x,y position fixup.
Commit consists out of
  • M packages/rtl-console/src/win/mouse.pp


Revisions in bigsets in this set 0e59e9ec6c8eebbc0e672c8e005d401bd871fb70