Compare commits

..

121 Commits

Author SHA1 Message Date
metalefty
0579980e44
Merge pull request #3225 from metalefty/v0.10-h264
[v0.10] H264 cherry picks
2024-08-29 23:55:33 +09:00
matt335672
8bf9ed48af Further changes to selectable H.264 support
- Fix CI errors
- tconfig_load_gfx() removes H.264 from the supported codec list
  if significant errors are found loading the H.264 configuration
- tconfig_load_gfx() always produces a usable config, even if the
  specified file can't be loaded

(cherry picked from commit 5351511272)
2024-08-29 22:53:04 +09:00
matt335672
401cd845f8 Rework codec order in tconfig
Replaced codec idx values with a list of codecs from the
config file.

Added some logging for debugging

(cherry picked from commit 1ac216da1d)
2024-08-29 22:52:59 +09:00
Koichiro Iwao
5bbeb03848 GFX: use the preferred codec preferred in the config (H264 or RFX)
(cherry picked from commit 2c2585cc90)
2024-08-29 22:52:51 +09:00
Koichiro Iwao
689a2620d3 Introduce XRDP_H264 macro to indicate any H264 encoder enabled
(cherry picked from commit 7238f8f99d)
2024-08-29 22:52:44 +09:00
Koichiro Iwao
d56396b771 tconfig: add config which to prefer H264 vs RFX
(cherry picked from commit 07e4e23c7b)
2024-08-29 22:52:37 +09:00
Koichiro Iwao
89277e5aea x264: add CI test
(cherry picked from commit 72ede776ed)
2024-08-27 13:57:56 +09:00
Koichiro Iwao
abb5714f8f tconfig: refine logging
(cherry picked from commit b9d593bc11)
2024-08-27 13:14:02 +09:00
Koichiro Iwao
6b98637bac tconfig: set proper default value for fps_den
(cherry picked from commit 16ef3dc3a8)
2024-08-27 13:14:02 +09:00
Koichiro Iwao
1fcde20682 x264: Update x264 encoding parameters
(cherry picked from commit 6aeb364c8d)
2024-08-27 13:14:02 +09:00
Koichiro Iwao
12c9e79dee x264: apply encoding parameters per connection type
(cherry picked from commit 010b6a3dbf)
2024-08-27 13:14:02 +09:00
Koichiro Iwao
d083920824 tconfig: Makefile changes
(cherry picked from commit d50c2fd4e4)
2024-08-27 13:13:58 +09:00
Koichiro Iwao
427f501862 tconfig: add new toml config parser for gfx.toml
(cherry picked from commit b3513ba8df)
2024-08-27 09:58:16 +09:00
Jay Sorg
be3e3a3d0a rename old_capture_code to mark unused
(cherry picked from commit 2bed4f6b9b)
2024-08-07 23:17:43 +09:00
Jay Sorg
3c7b416375 change capture_code to enum
(cherry picked from commit 112a534f4c)
2024-08-07 23:16:58 +09:00
Jay Sorg
3a2e0eb8cd remove some unnecessary code
(cherry picked from commit 4dcf59c8f4)
2024-08-07 22:48:23 +09:00
Jay Sorg
099575056e fix for odd width, height
(cherry picked from commit 485e64ee76)
2024-08-07 22:31:51 +09:00
Jay Sorg
48a6cd4060 multimon fixes
(cherry picked from commit 96ff6fdba8)
2024-08-07 22:28:49 +09:00
Jay Sorg
9cb2afa052 format
(cherry picked from commit 57ed8e9d52)
2024-08-07 22:28:37 +09:00
Jay Sorg
565977bc81 xrdp_encoder.c changes for x264
(cherry picked from commit b583a8d510)
2024-08-07 22:28:28 +09:00
Jay Sorg
1d52a418ad add xrdp_encoder_x264.c/h
(cherry picked from commit ab97002c22)
2024-08-07 22:13:52 +09:00
Jay Sorg
2a02056346 add x264 to configure.ac
(cherry picked from commit e5e56a2ed9)
2024-08-07 22:13:34 +09:00
matt335672
82bec9d1dc
Merge pull request #3194 from matt335672/v0_10_chansrv_clip_fixes
[V0.10] chansrv clip fixes
2024-08-06 10:37:38 +01:00
matt335672
ace386d072 clipboard: Allow a file read to return 0 for EOF
When used with a FreeRDP client on Linux, a file copy operation from
the clipboard detects end-of-file by a read returning 0 bytes. This is
currently marked as an error.

It is assumed that mstsc.exe detects end-of-file in another way, which
is why this has not been found before.

(cherry picked from commit 0f6e731524)
2024-08-05 09:54:37 +01:00
matt335672
e59dc16be6 Remove unnecessary copy from clipboard_get_files()
The routine clipboard_get_files() parses a potentially long string,
and copies portions of it into a temporary buffer. This buffer is then
passed to clipboard_get_file() as pointer + length;

The buffer is inadequately sized for very long filenames which may
approach XFS_MAXFILENAMELEN in length. This can cause chansrv to fail
when the user copies such filenames.

It turns out the buffer is unnecessary, as the filenames can be
passed directly into clipboard_get_file() from the source string,
using pointer + length. This avoids the length limitation entirely.

(cherry picked from commit 34b5582460)
2024-08-05 09:54:26 +01:00
matt335672
f3070aef15 Allow for longer filenames from the redirector.
This commit ensures that filenames up to the maximum size supported
by our xfs can be supported.

(cherry picked from commit c3f7eec4f5)
2024-08-05 09:54:07 +01:00
matt335672
6c9d56efc2 Remove hard-coded filename limit for clipboard file lists
The limit of 256 characters for clipboard files is limiting for
many Asian locales, particularly as '%xx' notation is used to
communicate bytes with bit 7 set.

(cherry picked from commit a90228241d)
2024-08-05 09:53:55 +01:00
matt335672
f4153a493d Dynamically allocate XFS filesystem names
Replace the 256 byte buffer used for names in the XFS filesystem with a
dynamically allocated buffer.

The define XFS_MAXFILENAMELEN which used to be 255 has been retained,
but bumped to 1023. This value is no longer used for long-lived
allocations, but is used in chansrv_fuse.c for maintaining state
information for in-fligh I/O requests.

(cherry picked from commit d8b5435710)
2024-08-05 09:53:44 +01:00
metalefty
72892c1453
Merge pull request #3188 from metalefty/v0.10-tarball
[v0.10] Include {xrdp,sesman}.ini.in instead of substituted .ini in tarball
2024-08-01 20:58:59 +09:00
Koichiro Iwao
19bacc6e49 Include {xrdp,sesman}.ini.in instead of substituted .ini in tarball
These config files are intended to be substituted during the build
process. The substituted .ini files should not be included in release
tarballs.

Fixes:  #3187
2024-08-01 20:39:03 +09:00
metalefty
1c33f3d9af
Merge pull request #3185 from metalefty/v0.10-release
Release v0.10.1
2024-07-31 21:51:24 +09:00
metalefty
54932b55ef
Merge pull request #3183 from metalefty/v0.10-cherry-picks
[v0.10] cherry-picks
2024-07-31 21:48:28 +09:00
Koichiro Iwao
00b8b41344 Bump version to v0.10.1 2024-07-31 21:09:43 +09:00
Koichiro Iwao
4d9e9f91fa Update NEWS 2024-07-31 21:07:04 +09:00
matt335672
b343ca27b1 Replace binary blob with specified data
This commit changes the license response PDU to be constructed rather
than simply being contained as a binary blob.

Some constants in common/ms-rdpbcgr.h are renamed with the values
from the specification.

(cherry picked from commit 52dd88b576)
2024-07-30 10:46:12 +09:00
matt335672
3108a85e86 Remove Licensing exchange
Replaces the existing licensing exchange with a single PDU
saying the user will not issue a license.

This is necessary for clients on FIPS-compliant systems, as these
are unable to decode the licensing exchange packets, due to outdated
cyphers.

(cherry picked from commit cc4a4c95f2)
2024-07-30 10:46:03 +09:00
Koichiro Iwao
4d4ecdcaa4 GFX: selectable lossy compression levels
(cherry picked from commit e3c83c544c)
2024-07-30 10:45:41 +09:00
matt335672
da34d1e69d
Merge pull request #3175 from matt335672/v0_10_fix_potential_name_overflow
[V0.10] Fix potential name buffer overflows in redirector
2024-07-24 12:11:28 +01:00
matt335672
5223672437 Fix potential name buffer overflows in redirector
The state buffers used by the following structs in chansrv_fuse.c
are one byte too small for filenames of length XFS_MAXFILENAMELEN:-
- struct state_lookup
- struct state_create
- struct state_rename

In practice, there is no runtime danger, as XFS_MAXFILENAMELEN is 255,
and these buffers will be followed by non-byte aligned data. Nevertheless
this should be fixed to prevent problems if the value is changed.

(cherry picked from commit c9e84dc16c)
2024-07-23 12:29:43 +01:00
matt335672
2938c3d7b3
Merge pull request #3171 from matt335672/v0_10_fix_missing_pre_session_ipaddr
[V0.10] sesman: Copy IP address to pre_session_item struct
2024-07-22 09:46:30 +01:00
matt335672
4a90879555 sesman: Copy IP address to pre_session_item struct
struct pre_session_item has an entry for the start_ip_addr which is not
being filled in. This is not normally needed, as the IP address of the
session is passed into the session another way, but it is needed if the
session selection Policy contains the 'I' selector.

(cherry picked from commit a4f57572e6)
2024-07-19 12:01:47 +01:00
metalefty
a7d583a46d
Merge pull request from GHSA-7w22-h4w7-8j5j
Enforce no login screen if require_credentials is set
2024-07-11 09:37:12 +09:00
metalefty
d6fce2f173
Merge pull request #3152 from metalefty/v0.10-submodule
[v0.10] Support screens larger than 4096 pixels (update submodule)
2024-07-09 11:48:14 +09:00
Koichiro Iwao
2546bfa842 Support screens larger than 4096 pixels (update submodule)
Fixes:  #3083
2024-07-09 08:15:37 +09:00
metalefty
1d30c81323
Merge pull request #3150 from metalefty/v0.10-makedist
docs: always include docs/man/xrdp-mkfv1.8.in to dist tarball
2024-07-08 21:27:08 +09:00
Koichiro Iwao
e83dcc52eb docs: always include docs/man/xrdp-mkfv1.8.in to dist tarball
Files included in distribution tarball must always be enumerated,
not be enumerated conditionally.

Resolves:   #3149
2024-07-08 16:34:23 +09:00
matt335672
61b509f1d5 Enforce no login screen if require_credentials is set
If the setting require_credentials is true, there should be no way
for the user to get to a login screen.

This commit makes the following changes if this flag is active:-
- Makes the checks around TS_INFO_PACKET more explicit.
- Closes the connection if the first login attempt fails.

(cherry picked from commit 8ac2f6db34)
2024-06-27 11:55:26 +01:00
matt335672
8ddbe77e7c
Merge pull request #3127 from matt335672/v0_10_investigate_gfx_min_max_issue
[v0.10] Fix min/max monitor placing issue
2024-06-21 09:49:39 +01:00
matt335672
029059ef3d Fix min/max monitor placing issue
when a multi-monitor session has the top-left vertex of the primary
monitor at a desktop location other than (0,0), minimising and maximising
the session results in the (0,0) co-ordinate of the entire desktop being
placed at the top-left of the primary monitor.

The implementation seems to be at odds with [MS-RDPEGFX] 2.2.2.14 which
suggests the monitorDefArray of the RDPGFX_RESET_GRAPHICS_PDU should be
the same as that in the Monitor Layout PDU ([MS-RDPBCGR] 2.2.12.1)

(cherry picked from commit 095f0d0e4c)
2024-06-19 09:12:19 +01:00
matt335672
9a21e37f1f
Merge pull request #3122 from matt335672/v0_10_fix_server_24bpp_gfx
[v0.10] Don't use GFX if server max_bpp is <32
2024-06-19 09:02:55 +01:00
metalefty
0aa3a679c3
Merge pull request #3120 from metalefty/v0.10-libreoffice-image-clipboard
clipboard: fix a bug when pasting image to LibreOffice
2024-06-18 18:23:44 +09:00
Koichiro Iwao
e070902310
clipboard: tidy up bmp file header assembly
Sponsored by:   Krämer Pferdesport GmbH & Co KG
2024-06-18 11:13:40 +09:00
matt335672
90ca82fe52 Don't use GFX if server max_bpp is <32
(cherry picked from commit d2bab53364)
2024-06-17 13:24:26 +01:00
Koichiro Iwao
4968a34cd6
clipboard: fix a bug when pasting image to LibreOffice
While here, embed correct file size in BMP file header.

Fixes:          #3102
Sponsored by:   Krämer Pferdesport GmbH & Co KG
2024-06-17 21:08:30 +09:00
metalefty
7aa2b34ca0
Merge pull request #3088 from matt335672/v0_10_cherry_picks
Further cherry-picks for v0.10
2024-06-17 21:07:34 +09:00
matt335672
2319f56268 Replace 'dvorak' keyboard description with 'us(dvorak)'
In the words of @iskunk

It is no longer possible to refer to the Dvorak layout as just "dvorak"
(as when one would run "setxkbmap dvorak"); one must now use either
"us dvorak" or "us(dvorak)"

See https://bugs.debian.org/1063725

(cherry picked from commit a1b7c17906)
2024-06-12 14:09:31 +01:00
matt335672
a5ec4a3817 Add explicit object for the encoder finishing
On a resize, the encoder is deleted. At present this is done by asking
the encoder to exit, and then waiting a second.

- On slower systems, a second may not be enough, and so the encoder
  data structures are freed while they are still being used by the
  encoder.
- On quicker systems, resizes are delayed by hundreds of milliseconds
  longer than they need to be.

This commit adds a wait object which the encoder can use to signal it
has actually finished.

(cherry picked from commit 985b0de35e)
2024-06-10 18:54:26 +01:00
matt335672
a430eb93cb Prevent SEGV when resizing with GFX
The xrdp_enc_data contains a union for handling surface commands
and gfx commands. Memory processing is different for these two
options.

The default destructor for the encoder FIFO only knows about surface
commands. Consequently, if the encoder has queued GFX data when the
encoder is closed, the destructor processes the queued data as if
it contained surface commands rather than GFX commands. This typically
causes a SEGV as the drects field of the overlaid surface command
structure is not pointing at anything valid when it is freed.

(cherry picked from commit 809df89c08)
2024-06-10 18:54:18 +01:00
matt335672
0bef23f217 Fix session list processing
The get_sorted_session_displays() is broken in that it
doesn't produce a sorted list of displays.

The problem is the qsort comparison function which has 2 errors in 4 lines:-
1) The test is the wrong way round (i.e. arg1 < arg2 produces a +ve
   result instead of -ve)
2) Subtracting two unsigned ints in C will never return < 0

The broken function has been masked by other display checks which mean
that it is only visible in a few situations:-
1) Starting two sessions very closely to each other may allocate the
   same display to both sessions.
2) If /tmp is namespaced, the other display checks do not work, and
   more than two sessions cannot be started.

(cherry picked from commit 70f1b685ba)
2024-06-03 09:46:31 +01:00
matt335672
c32180ce5b Bump FreeBSD CI version to 13.3
(cherry picked from commit cbaaf221cd)
2024-06-01 10:35:17 +01:00
Schen
84901958a5 Fix a systemd dependency ("network-online.target")
- Fix a problem that the xrdp.service fail to auto-start when instructed to listen on a specific interface
- By changing the "network.target" systemd dependency to "network-online.target"
- The "network-online.target", in short, means at least one network interface has finished IP level setup.
- The previously used "network.target" is vague and does not provide such guarantee (ref: man systemd.special(7)).
- Which often cause "xrdp.service" fail to auto-start when the service is configured to listen on a specific interface (e.g. in xrdp.ini, "port=tcp://192.168.0.1:3389"). Because the interface may have not finish setting up its IP, when "xrdp.service" starts.

(cherry picked from commit 21e11de157)
2024-05-23 11:41:59 +01:00
matt335672
dcaa31ef16 chansrv FUSE fixes
1) [Regression] If the specified mountpoint is not immediately below an
   existing directory, the directory is not created.
2) The message to ask the user to unmount an existing mounted directory
   has been moved to the right place.

(cherry picked from commit e0a1339b34)
2024-05-22 09:55:01 +01:00
metalefty
763c1c5855
Merge pull request #3069 from metalefty/v0.10-release
Release v0.10.0
2024-05-10 23:11:16 +09:00
Koichiro Iwao
0872f9378f Bump version to 0.10.0 2024-05-10 22:40:01 +09:00
Koichiro Iwao
53e13abef1 Update NEWS 2024-05-10 22:40:01 +09:00
metalefty
8c614cdf9c
Merge pull request #3068 from metalefty/v0.10-update-news
Turn off cache explicitly when fetching NEWS from wiki
2024-05-10 17:58:22 +09:00
Koichiro Iwao
dad7766afc Turn off cache explicitly when fetching NEWS from wiki 2024-05-10 17:36:32 +09:00
metalefty
cc35ac63c9
Merge pull request #3034 from metalefty/v0.10-release
Release v0.10.0-beta.3
2024-04-19 23:43:44 +09:00
Koichiro Iwao
7ea81186c6 Add script to update NEWS from wiki 2024-04-19 11:57:51 +09:00
Koichiro Iwao
3329f60318 Bump version to v0.10.0-beta.3 2024-04-19 11:57:51 +09:00
Koichiro Iwao
492f8b5cf7 Update NEWS
It is still a beta release at the moment so release date is not
determined.
2024-04-19 11:57:47 +09:00
matt335672
0a7e556d7d
Merge pull request #3032 from matt335672/v0_10_update_rfxcodec
[V0.10] Merge updates from librfxcodec
2024-04-18 16:35:34 +01:00
matt335672
cb50f18da9 Merge updates from librfxcodec
1) add SSE2 simd for dwt_shift_rem and diff_count

   make dwt_shift_rem easier to read
   move common rlgr defines to common file
   move common dwt defines to common file

2) Fix 'make distcheck'

3) Fix compiler warnings on tests
2024-04-18 15:47:40 +01:00
matt335672
b45630e879
Merge pull request #3017 from matt335672/cherry_picks_to_v0_10
Cherry picks to v0 10
2024-04-15 20:37:47 +01:00
Jay Sorg
dfa52c1183 format change
(cherry picked from commit 898e1ca135)
2024-04-15 19:26:48 +01:00
Jay Sorg
7030a74ab9 gfx send multiple wire to surface messages when compressed data is larger than max_compressed_bytes
(cherry picked from commit 95bfb349a8)
2024-04-15 19:26:35 +01:00
matt335672
f688e680c9 Simplify allowed system calls for xrdp
- The command 'systemd-analyze syscall-filter' shows that the group
  @system-service added to the xrdp-service SystemCallFilter
  actually includes all of the other listed groups and individual
  services.  Consequently this line can be simplified to just specify
  @system-service.

- (reversion) The SystemCallErrorNumber setting in xrdp.service has been
  removed so that unauthorized system calls cause an immediate process exit.

(cherry picked from commit e0e9177f5e)
2024-04-12 11:16:37 +01:00
matt335672
252243ab6c Fix permissions on user socket directory
The user socket directory needs to be SGID so that they inherit
the group ownnership. Then xrdp can write to them.

(cherry picked from commit 200e4d84f4)
2024-03-27 09:50:27 +00:00
Jay Sorg
9dbe504878 remove per frame log entry when client frame acks is off
(cherry picked from commit 651fcf85b7)
2024-03-27 09:49:57 +00:00
matt335672
02dc01d31e Remove hard-coded version from scripts/run_astyle.sh
This script now works the same way as cppcheck. The version to
be used is specified once in the github CI action

(cherry picked from commit b9fd19e6b5)
2024-03-27 09:49:24 +00:00
matt335672
2ee512ba52 Remove unnecessary '-lrt' from common lib link
The '-lrt' added to the Makefile for the common library appears
to be unnecessary.

- On modern Linuxes, this library has been merged with libc, and the
  supplied library is empty.
- On older ones (e.g. Devuan 4), the library contains routines we
  do not use in xrdp (although we use 'shm_open()' in xorgxrdp).
- On FreeBSD 14 the library contains only mq_*  and timer_* routines
  which, again, are not required.

(cherry picked from commit e821eddb62)
2024-03-27 09:48:53 +00:00
matt335672
40b0eaf455 Improve performance on long fat networks (LFNs)
On Linux, the TCP send buffer size is increased to 32768 if it is less
that this (which it normally is). This however has the effect of disabling
dynamic buffer sizing, leading to a maximum available bandwidth of

max_bandwidth = 262144 (bits) / round_trip_time (secs)

This is not noticeable on a LAN with an RTT of around 0.5ms, but
very noticeable on a WAN with an RTT of 0.25s.

Comments in the config file and manpage in this area are improved, as
is the logging if the parameters are actually set.

(cherry picked from commit b23d6f89d5)
2024-03-27 09:48:16 +00:00
metalefty
fc34c2b4c8
Merge pull request #3007 from metalefty/v0.10-release
Bump version to v0.10.0-beta.2
2024-03-20 23:13:14 +09:00
Koichiro Iwao
a48ea06e9b Bump version to v0.10.0-beta.2 2024-03-20 23:12:25 +09:00
metalefty
04da549942
Merge pull request #3003 from matt335672/v0_10_detect_missing_drdynvc
[V0.10] detect missing drdynvc
2024-03-17 22:50:31 +09:00
matt335672
68f6113430 Load channel config in xrdp_wm_create()
This commit moves the '[Channels]' parsing code for xrdp.ini
from xrdp_wm_init() to an earlier location in xrdp_wm_create().

libxrdp can now check that drdynvc is not disabled before starting it,
and xrdp_wm can disable GFX if virtual channels are not available.
2024-03-15 10:31:58 +00:00
matt335672
84fd2a510b Start the drdynvc channel within xrdp_wm
The responsibility for starting the drdynvc channel is moved out of
libxrdp into the application. This will make it easier to allow the
application to check the channel is enabled before starting it.
2024-03-15 10:31:46 +00:00
metalefty
01d3dedfdf
Merge pull request #2987 from matt335672/fix_freebsd_core
Don't generate a corefile when generating SIGSEGV
2024-03-14 09:12:00 +09:00
matt335672
8e08066bc8 Don't generate a corefile when generating SIGSEGV
One of the tests uses a child process which generates SIGSEGV.
On FreeBSD this generates a corefile by default which breaks
the 'make distcheck' process.
2024-03-09 17:01:40 +00:00
metalefty
ac67abe9b6
Merge pull request #2985 from metalefty/v0.10-release
Release v0.10.0-beta.1
2024-03-10 00:00:14 +09:00
Koichiro Iwao
02c265c5a5 Bump version to v0.10.0-beta.1 2024-03-09 23:53:51 +09:00
Koichiro Iwao
fb2a863d12 Update NEWS
It is still draft because stil a beta release.
2024-03-09 23:53:25 +09:00
metalefty
19b4905018
Merge pull request #2983 from metalefty/v0.10-release-tarball
[v0.10] Add script to make release tarball
2024-03-08 23:26:49 +09:00
metalefty
c5e6c4e117
Merge pull request #2977 from metalefty/v0.10-cherry-pick
[v0.10] cherry picks
2024-03-08 23:22:16 +09:00
Koichiro Iwao
9985737e9b Add script to make release tarball 2024-03-08 22:23:13 +09:00
rowlap
790834a947 Remove duplicate DEBUG output
allow_multimon and new_cursors are printed twice

(cherry picked from commit bf81557cdc)
2024-03-06 17:20:47 +09:00
metalefty
7700fcb1dc
Merge pull request #2957 from metalefty/v0.10-cherry-pick
[v0.10] cherry picks
2024-03-04 09:05:39 +09:00
matt335672
d6cf81a4da Increase GFX output buffer size
Size the GFX output buffer pessimistically based on the largest monitor
in the configuration.

(cherry picked from commit 90e4aca26a)
2024-03-03 10:04:28 +09:00
Koichiro Iwao
ab2430ac76 Suppress some logs when no errors
This outputs per-frame logs when using VNC backend and on login screen.

(cherry picked from commit 0b4150ff48)
2024-03-01 00:06:14 +09:00
rowlap
72d30061b0 Remove tcutils channel from xrdp.ini
According to #1943 tcutils was removed, so update the channel section to match.

(cherry picked from commit 2a0c2a612f)
2024-02-27 22:32:41 +09:00
Derek Schrock
a7115cced2 Fall back to IPv4 if IPv6 capable but don't have an IPv6 address set
When xrdp is built with IPv6 support it will only fall back to IPv4 if
IPv6 is not supported (EAFNOSUPPORT).  However, if the system is IPv6
capable but doesn't have an IPv6 address set (at least inside a FreeBSD
jail) EPROTONOSUPPORT is returned from socket().

(cherry picked from commit 5afbca4954)
2024-02-26 20:57:01 +09:00
matt335672
83f9d4ec17 GFX: Fix disconnect on resize of busy windows
When a resize is underway on a busy X server, it is possible for a
queued EGFX cmd (order #62) to be processed after the decoder has been
deleted. This causes a client disconnect with no useful error message.

(cherry picked from commit 3430b8898c)
2024-02-24 00:52:00 +09:00
matt335672
d0edde791e Migrate github actions to Node 20
Github actions are transitioning to Node 20 ans Node 16 is EOL.

https://github.blog/changelog/2023-09-22-github-actions-transitioning-from-node-16-to-node-20
(cherry picked from commit 4ba026be38)
2024-02-22 22:51:49 +09:00
Koichiro Iwao
99cf0e19f7 Bump copyright year and make easier to bump
(cherry picked from commit ae249c6755)
2024-02-22 22:51:37 +09:00
Koichiro Iwao
9b33d299d0 GFX: Relegate some logs to LOG_LEVEL_DEBUG
(cherry picked from commit 7e305f9e24)
2024-02-22 22:51:14 +09:00
metalefty
c3cb8554b6
Merge pull request #2951 from metalefty/v0.10-monitor-hotplug
[v0.10] Fixes some problems with monitor hotplug
2024-02-21 00:41:30 +09:00
metalefty
12ff5d4814
Merge pull request #2952 from metalefty/v0.10-just-log-image-remotefx
[v0.10] Just log Image RemoteFX codec
2024-02-21 00:38:00 +09:00
Koichiro Iwao
8a1e6f74f7 Just log Image RemoteFX codec 2024-02-21 00:16:56 +09:00
matt335672
d769b402bc GFX: Prevent MM screen being written to the client
In GFX mode, if we're using xorgxrdp, frame updates are send directly
from the client, bypassing the screen buffer in xrdp_mm.

This commit only allows the xrdp_mm screen buffer to be invalidated
if the painter has drawn into it since the module was loaded. This
prevents the unused (and invalid) frame buffer being pushed to the client
in GFX mode with xorgxrdp.
2024-02-21 00:14:26 +09:00
matt335672
ab698c3d58 Clear memory allocated to resized bitmaps
This prevents valgrind errors when resizing the screen to
a larger size on GFX systems.
2024-02-21 00:14:26 +09:00
matt335672
355a71fe6d Prevent EGFX drawing while channel is down
Clear egfx_up as soon as the channel starts to close so that
xrdp_mm_draw_dirty() doesn't send data to a closed channel.
2024-02-21 00:14:26 +09:00
matt335672
ee37eb2803 EGFX: Ignore incoming messages after close sent 2024-02-21 00:14:26 +09:00
matt335672
74c2f7c4a7 Rework xrdp to support new module resize interface
This commit compiles.
2024-02-21 00:14:26 +09:00
matt335672
66a8e93f3c Change to the XUP module for the new resizing interface
Input message 300 to xorgxrdp which communicated a screen size
has been replaced with message 302 which sends a list of monitors
to xorgxrdp. This simplifies the initialisation and resize logic
somewhat, but a compatible version of xorgxrdp must be used
2024-02-21 00:14:26 +09:00
matt335672
9f422cc306 Update VNC module resize functionality
Significant updates for the VNC module:-
1) Support for the new API calls allowing both server and client
   multi-monitor resizes.
2) The s member variable of the vnc_screen_layout structure is no longer
   dynamically allocated.
3) The module server_width and server_height member variables are
   removed as these are just duplicating server_layout.total_width and
   server_layout.total_height.
4) When the server screens are resized, there is no need to restart the
   entire resize state machine as we already know at this point that
   the server supports resizing.
2024-02-21 00:14:26 +09:00
matt335672
dc6ac9758b Update neutrinordp module
Neutrinordp module now compiles with updated monitor resize
interface
2024-02-21 00:14:26 +09:00
matt335672
bfecd1887b Update module interfaces with new calls for resizing
This commit DOES NOT compile.

This change alters these module interface calls:-
1) mod_server_monitor_resize() (Call from xrdp to module). Updated.
2) server_reset() (Call from module to xrdp). Replaced.

The mod_server_monitor_resize() call is updated :-
1) to allow a monitor list to be passed in for a multimon resize
2) with an 'in_progress' return value which tells the caller whether or
   not to expect a callback.

The server_reset() call served two purposes up until now:-
1) To allow a module to resize a single monitor session. There
   is no way to request a multi-monitor resize from the module
2) (with bpp == 0) To signal to the mm resize state machine that
   a server screen resize hsa finished.

This is split into two calls:-
1) client_monitor_resize() to allow a mdule to request a
   multimon resize.
2) server_monitor_resize_done(). This is called by a module
   when a resize is completed.
2024-02-21 00:14:26 +09:00
matt335672
b0a30a3581 Add a client_resize_mode field
This stores what kind of resizing (if any) can be achieved with
a Deactivation-Reactivation sequence.
2024-02-21 00:14:26 +09:00
matt335672
1917b9c747 Fix sending of monitor layout PDU
From [MS-RCPBCGR] 3.3.5.12.1:-

> ...The contents of this PDU SHOULD NOT be compressed.
>
> This PDU MUST NOT be sent to a client that has not indicated support for
> it by setting the RNS_UD_CS_SUPPORT_MONITOR_LAYOUT_PDU flag (0x0040)
> in the earlyCapabilityFlags field of the Client Core Data (section
> 2.2.1.3.2).

Also, 2.2.12.1 specifies the source channel must be zero.

In testing, a compressed monitor layout PDU causes mstsc.exe
to exit with a protocol error.
2024-02-21 00:14:26 +09:00
matt335672
e00236193f Fixes some problems with monitor hotplug
This fixes some monitor hotplug issues with non-GFX codepaths.

1) The server_version_message() was working on an out-of-date
   copy of the client_info. As a result, the X server and the
   window manager did not agree on the number of windows
2) As a result of 1), a memory leak was found in the VNC module.
2024-02-21 00:14:26 +09:00
Koichiro Iwao
6272ae6018 Bump version to v0.9.90, v0.10.0 will be out soon 2024-02-08 22:04:35 +09:00
183 changed files with 14818 additions and 33103 deletions

View File

@ -6,11 +6,11 @@ FreeBSD_task:
freebsd_instance:
image_family: freebsd-13-3
prepare_script:
- pkg install -y $SSL git autoconf automake libtool pkgconf opus jpeg-turbo fdk-aac pixman libX11 libXfixes libXrandr libxkbfile nasm fusefs-libs3 check imlib2 freetype2 cmocka ibus
- pkg install -y $SSL git autoconf automake libtool pkgconf opus jpeg-turbo fdk-aac pixman libX11 libXfixes libXrandr nasm fusefs-libs check imlib2 freetype2 cmocka
- git submodule update --init --recursive
configure_script:
- ./bootstrap
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --localstatedir=/var --enable-strict-locations --with-pkgconfigdir=/usr/local/libdata/pkgconfig --enable-strict-locations --enable-ibus --enable-ipv6 --enable-opus --enable-jpeg --enable-fdkaac --enable-painter --enable-pixman --enable-fuse --with-imlib2 --with-freetype2
- env CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --localstatedir=/var --enable-strict-locations --with-pkgconfigdir=/usr/local/libdata/pkgconfig --enable-strict-locations --enable-ipv6 --enable-opus --enable-jpeg --enable-fdkaac --enable-painter --enable-pixman --enable-fuse --with-imlib2 --with-freetype2
build_script:
- make -j $(sysctl -n hw.ncpu || echo 4)
check_script:

View File

@ -6,11 +6,8 @@ body:
- type: markdown
attributes:
value: |
Before submitting a bug, read the [FAQ](https://github.com/neutrinolabs/xrdp/wiki/Tips-and-FAQ). **In particular, on systemd-based systems. make sure you are not logged in on the console as the same user you are trying to use for xrdp**
Please do not include links to images or videos on external websites. These are not guaranteed to always be available, and could be used to compromise web browsers.
Videos hosted on github have a size limit (currently 10MB). If your video is larger than this, please upload it to https://youtube.com
Before submitting a bug, read the [FAQ](https://github.com/neutrinolabs/xrdp/wiki/Tips-and-FAQ).
**In particular, on systemd-based systems. make sure you are not logged in on the console as the same user you are trying to use for xrdp**
- type: input
attributes:
label: xrdp version
@ -23,7 +20,7 @@ body:
description: Copy & paste the result of `xrdp --version`. DO NOT remove `~~~` but paste the result between two `~~~`.
value: |
~~~
Paste the result between `~~~`. Please DO NOT remove `~~~`!
PASTE HERE
~~~
- type: input
attributes:

View File

@ -60,16 +60,6 @@ jobs:
unittests: true
DISTCHECK: true
- CC: clang
feature_set: max
arch: amd64
os: ubuntu-latest
unittests: true
DISTCHECK: false
name_extra: and AddressSanitized
CFLAGS: "-fsanitize=address -ggdb"
LDFLAGS: "-fsanitize=address"
# Maximal debug 64-bit arch builds
# Check we can also do a static build without
# installing .a files
@ -90,8 +80,6 @@ jobs:
unittests: true
DISTCHECK: false
name_extra: for 32-bit arch (legacy OS)
CFLAGS: "-m32"
LDFLAGS: "-m32"
- CC: g++
feature_set: max
@ -100,8 +88,6 @@ jobs:
unittests: false
DISTCHECK: false
name_extra: for 32-bit arch (legacy OS)
CFLAGS: "-m32"
LDFLAGS: "-m32"
- CC: clang
feature_set: max
@ -110,15 +96,11 @@ jobs:
unittests: true
DISTCHECK: false
name_extra: for 32-bit arch (legacy OS)
CFLAGS: "-m32"
LDFLAGS: "-m32"
name: ${{ matrix.feature_set }} features with ${{ matrix.CC }} ${{ matrix.name_extra }}
runs-on: ${{ matrix.os }}
env:
CC: ${{ matrix.CC }}
CFLAGS: ${{ matrix.CFLAGS }}
LDFLAGS: ${{ matrix.LDFLAGS }}
# HACK (2020-11-16): github actions doesn't support YAML anchors/aliases to
# avoid repeating long config values. So instead the config values are defined
@ -128,17 +110,19 @@ jobs:
# define the standard environment variable used in the rest of the steps.
CONF_FLAGS_amd64_min: "--disable-ipv6 --disable-jpeg --disable-fuse --disable-mp3lame
--disable-fdkaac --disable-opus --disable-rfxcodec --disable-painter
--disable-pixman --disable-utmp"
CONF_FLAGS_amd64_max: "--enable-ibus --enable-ipv6 --enable-jpeg --enable-fuse
--enable-mp3lame --enable-fdkaac --enable-opus --enable-rfxcodec
--enable-painter --enable-pixman --enable-utmp
--with-imlib2 --with-freetype2 --enable-tests --with-x264"
CONF_FLAGS_i386_max: "--enable-ibus --enable-ipv6 --enable-jpeg
--enable-mp3lame --enable-opus --enable-rfxcodec
--enable-painter --disable-pixman --with-imlib2
--with-freetype2 --host=i686-linux --enable-tests"
--disable-pixman"
CONF_FLAGS_amd64_max: "--enable-ipv6 --enable-jpeg --enable-fuse --enable-mp3lame
--enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter
--enable-pixman --with-imlib2 --with-freetype2 --enable-tests
--enable-x264"
CONF_FLAGS_i386_max: "--enable-ipv6 --enable-jpeg --enable-mp3lame
--enable-opus --enable-rfxcodec --enable-painter
--disable-pixman --with-imlib2 --with-freetype2
--host=i686-linux --enable-tests"
PKG_CONFIG_PATH_i386: "/usr/lib/i386-linux-gnu/pkgconfig"
CFLAGS_i386: "-m32"
LDFLAGS_i386: "-m32"
steps:
- name: "Define feature and arch dependent environment variables"
# Note: any "variable=value" written to the $GITHUB_ENV file will be
@ -147,6 +131,8 @@ jobs:
run: |
echo "CONF_FLAGS=$CONF_FLAGS_${{ matrix.arch }}_${{ matrix.feature_set }} ${{ matrix.CONF_FLAGS_EXTRA }}" >> $GITHUB_ENV
echo "PKG_CONFIG_PATH=$PKG_CONFIG_PATH_${{ matrix.arch }}" >> $GITHUB_ENV
echo "CFLAGS=$CFLAGS_${{ matrix.arch }}" >> $GITHUB_ENV
echo "LDFLAGS=$LDFLAGS_${{ matrix.arch }}" >> $GITHUB_ENV
- uses: actions/checkout@v4
- name: "Install Dependencies"
# See https://github.com/actions/runner-images/issues/7192
@ -161,7 +147,7 @@ jobs:
run: make -j $(nproc)
- name: unittests
if: ${{ matrix.unittests }}
run: make check -j $(nproc) || (cat tests/*/test-suite.log && exit 1)
run: make check -j $(nproc)
- name: distcheck
id: dist_check
if: ${{ matrix.DISTCHECK }}
@ -180,7 +166,7 @@ jobs:
CC: gcc
# This is required to use a version of cppcheck other than that
# supplied with the operating system
CPPCHECK_VER: "2.16.0"
CPPCHECK_VER: "2.13.0"
CPPCHECK_REPO: https://github.com/danmar/cppcheck.git
steps:
# Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20')
@ -209,7 +195,7 @@ jobs:
CC: gcc
# This is required to use a version of astyle other than that
# supplied with the operating system
ASTYLE_VER: 3.4.14
ASTYLE_VER: 3.4.12
ASTYLE_REPO: https://gitlab.com/saalen/astyle.git
steps:
# Set steps.os.outputs.image to the specific OS (e.g. 'ubuntu20')

View File

@ -1,50 +0,0 @@
name: Coverity
on:
schedule:
- cron: "0 0 * * *"
workflow_dispatch:
jobs:
scan:
name: scan
runs-on: ubuntu-latest
if: ${{ github.repository_owner == 'neutrinolabs' }}
env:
CC: gcc
CONF_FLAGS_amd64_max: "--enable-ipv6 --enable-jpeg --enable-fuse --enable-mp3lame
--enable-fdkaac --enable-opus --enable-rfxcodec --enable-painter
--enable-pixman --enable-utmp
--with-imlib2 --with-freetype2 --enable-tests"
steps:
- uses: actions/checkout@v4
- name: Download Coverity build tool
run: |
wget -c -N https://scan.coverity.com/download/linux64 --post-data "token=${{ secrets.COVERITY_SCAN_TOKEN }}&project=neutrinolabs/xrdp" -O coverity_tool.tar.gz
mkdir coverity_tool
tar xzf coverity_tool.tar.gz --strip 1 -C coverity_tool
- name: "Install Dependencies"
run: |
echo RESET grub-efi/install_devices | sudo debconf-communicate grub-pc
sudo scripts/install_xrdp_build_dependencies_with_apt.sh max amd64 --allow-downgrades --allow-remove-essential --allow-change-held-packages
- name: Bootstrap
run: ./bootstrap
- name: configure
run: ./configure $CONF_FLAGS_amd64_max
- name: make
run: |
export PATH=`pwd`/coverity_tool/bin:$PATH
cov-build --dir cov-int make -j $(nproc)
- name: Submit build result to Coverity Scan
run: |
tar czvf cov.tar.gz cov-int
curl --form token=${{ secrets.COVERITY_SCAN_TOKEN }} \
--form email=meta@vmeta.jp \
--form file=@cov.tar.gz \
--form version="Commit $GITHUB_SHA" \
--form description="Build submitted via CI" \
https://scan.coverity.com/builds?project=neutrinolabs/xrdp

2
.gitignore vendored
View File

@ -54,8 +54,6 @@ tests/libxrdp/test_libxrdp
tests/memtest/memtest
tests/xrdp/test_xrdp
tools/devel/tcp_proxy/tcp_proxy
tools/chkpriv/xrdp-chkpriv
tools/chkpriv/xrdp-droppriv
*.trs
waitforx/waitforx
xrdp/xrdp

865
NEWS.md
View File

@ -1,651 +1,262 @@
# Release notes for xrdp v0.9.19 (2022/03/17)
# Release notes for xrdp v0.10.1 (2024/07/31)
## General announcements
* Running xrdp and xrdp-sesman on separate hosts is still supported by this release, but is now deprecated. This is not secure. A future release will replace the TCP socket used between these processes with a Unix Domain Socket, and then cross-host running will not be possible.
## New features
* Both inbound and outbound clipboards can now be restricted for text, files or images [Sponsored by @CyberTrust @clear-code and @kenhys] (#2087)
A clipboard bugfix included in this release is sponsored by Krämer Pferdesport GmbH & Co KG. We very much appreciate the sponsorship.
## Bug fixes
* [CVE-2022-23613](https://www.cve.org/CVERecord?id=CVE-2022-23613): Privilege escalation on xrdp-sesman (This fix is also in the out-of-band v0.9.18.1 release)
* The versions of imlib2 used on RHEL 7 and 8 are now detected correctly (#2118)
* Some situations where zombie processes could exist have been resolved (#2146, #2151, #2168)
* Some null-pointer exceptions which can happen in the logging module have been addressed (#2149)
* Some minor logging errors have been corrected (#2152)
* The signal handling in sesman has been reworked to prevent race conditions when a child exits. This has also made it possible to reliably reload the sesman configuration with SIGHUP (#1729, #2168)
## Internal changes
* Versions 0.13 and later of checklib can undefine the pre-processor symbol `HAVE_STDINT_H`. The xrdp tests now build successfully against these versions (#2124)
* OpenSSL packaging changes (#2130):-
- The OpenSSL 3 EVP interface is now fully supported
- When building against OpenSSL 3, an internal implementation of the RC4 cipher is used instead of the implementation from the OpenSSL legacy provider
- The wrapping of the OpenSSL library has been improved which should make it simpler to provide an alternative cryptographic provider in the future, if required
- The logging of TLS/non-TLS security negotiation has been improved
* cppcheck version used for CI bumped to 2.7 (#2140)
* The `s_check()` macro which is easily mis-used has been removed (#2144)
* Status values for the DRDYNVC channel are now available in `libxrdp/xrdp_channel.h`
## Changes for packagers or developers
* On OpenSSL 3 systems, there is now no need to build with the `-Wno-error=deprecated-declarations` flag
## Known issues
* On-the-fly resolution change requires the Microsoft Store version of Remote Desktop client but sometimes crashes on connect (#1869)
* xrdp's login dialog is not relocated at the center of the new resolution after on-the-fly resolution change happens (#1867)
-----------------------
# Release notes for xrdp v0.9.18.1 (2022/02/08)
This is a security fix release that includes fixes for the following privilege escalation vulnerability.
* [CVE-2022-23613: Privilege escalation on xrdp-sesman](https://www.cve.org/CVERecord?id=CVE-2022-23613)
Users who uses xrdp v0.9.17 or v0.9.18 are recommended to update to this version.
## Special thanks
Thanks to [Gilad Kleinman](https://github.com/giladkl) reporting the vulnerability and reviewing fix.
-----------------------
# Release notes for xrdp v0.9.18 (2022/01/10)
## General announcements
* Running xrdp and xrdp-sesman on separate hosts is still supported by this release, but is now deprecated. This is not secure. A future release will replace the TCP socket used between these processes with a Unix Domain Socket, and then cross-host running will not be possible.
* Special thanks for @trishume for contributing code to the RFX codec
## New features
* Backgrounds and logos on the login screen can now be zoomed and scaled (#1962)
* Small change for Alpine Linux support (#2005)
* loongarch support (#2057)
* Improved Fail2ban support (#1976)
## Bug fixes
* Logging is improved for security protocol level decisions (#1974, #1975)
* An unnecessary log error message which is always generated when running neutrinordp has been removed (#2016)
* An incorrect development log message has been fixed (#2074)
* Some informational and error messages written to the console on stdout have been removed or replaced with log messages (#2078 #2080)
* Failure to attach to the memory area shared with xorgxrdp is now logged (#2065)
* A regression in the VNC module logging which might cause a connection to drop out has been identified and fixed (#1989)
* Remote drive redirection now works if printer redirection is also requested by the client (#327)
* Some file names could not be copied from the client to the server over the clipboard. This is now fixed (#1992, #1995)
* A config value has been added which allows copy-pasting of files to work with Nautilus for GNOME 3 versions >= 3.29.92 (#1994, #1996)
* Clipboard now works properly when files can't be read (#1997 #2001)
* (xorgxrdp v0.2.18) The screen is fully refreshed after initialising shared memory which should fix black screen problems like #1964
* An incorrect initialisation reported by @qarmin has been fixed (#1909)
* Some minor memory leaks have been fixed (#2014 #2028)
* A hard hang in chansrv when copying files from the remote system has been addressed (#2032)
* Users can now capitalise username and password on the login screen if required (#2061)
* Some failed size checks in the fastpath code with `--enable-devel-streamcheck` have been addressed (#2066,#2070)
* Log level for clipboard restriction has been promoted from DEVEL DEBUG to INFO (#2088)
* A buffer overflow in the RFX codec associated with large screens has been fixed (#2087)
## Internal changes
* Some 64-bit packages are removed during the 32-bit CI build process in an attempt to make this more robust (#1985)
* Minor improvements to error checking and logging for file copy-paste (#1996)
* Now uses cppcheck 2.6 for CI builds (#2008)
* Generated systemd unit files now ignored by git (#2006)
* More internal tests (#2015)
* Some unnecessary files have been removed from the distribution (#2030)
* The `which` command in shell scripts has been replaced with `command -v` (#2067)
* Additional unit tests added for `g_file_get_size()` (#1988)
* A compiler warning with -O3 on gcc 11.1 has been addressed (#2105)
* An unused declaration for xrdp_wm_drdynvc_up has been removed (#2098)
* The SCP V0 code has been unified, which will make it easier to update and replace (#2011)
* Monitor processing unit tests for existing xrdp_sec function have been added (#1932)
* The librfxcodec has been updated as part of #2087, and also to add stack frames to assemble code to assist debugging
## Changes for packagers or developers
* The `--with-imlib2` option has been added. If xrdp is built with imlib2, the login screen supports more image formats for the background and logo, and better quality zooming and scaling (#1962)
## Known issues
* On-the-fly resolution change requires the Microsoft Store version of Remote Desktop client but sometimes crashes on connect (#1869)
* xrdp's login dialog is not relocated at the center of the new resolution after on-the-fly resolution change happens (#1867)
-----------------------
# Release notes for xrdp v0.9.17 (2021/08/31)
## General announcements
* Running xrdp and xrdp-sesman on separate hosts is still supported by this release, but is now deprecated. This is not secure. A future release will replace the TCP socket used between these processes with a Unix Domain Socket, and then cross-host running will not be possible.
## New features
* The IP address, port, and user name of NeutrinoRDP Proxy connection are logged in xrdp.log - these connections may not have a sesman log to use (#1873)
* The performance settings for NeutrinoRDP can be now configured (#1903)
* Support for Alpine Linux in startwm.sh (#1965)
* clipboard: log file transfer for the purpose of audit (#1954)
* Client's Keyboard layout now can be overridden by xrdp configuration for debugging purposes (#1952)
## Bug fixes
* PAM_USER environment variable is not set when using pam_exec module (#1882)
* Allow common channel settings to be overridden for modules as well as chansrv (#1899)
* The text only-copy/paste interface for the VNC module (used only when chansrv is not active) has been improved (#1900)
* The unsupported `tcutils` utility has been removed (#1943)
* The quality of TLS logging has been improved (#1926)
* Keyboard information is now passed correctly through NeuutrinoRDP, and can be overridden if required (#1934)
* A message is now logged in the sesman log for unsuccessful login attempts detailing the user used (#1947)
## Internal changes
* astyle formatting is now checked during CI builds (#1879)
* Generalise development build options, and add --enable-devel-streamcheck (#1887)
* Now uses cppcheck 2.5 for CI builds (#1938)
* The SCP protocol is now using a standard `struct trans` for messaging rather than its own thing (#1925)
## Changes for packagers or developers
* The `--enable-xrdpdebug` developer option has been replaced with finer-grained `--enable-devel-*` options. Consequently, specifying `--enable-xrdpdebug` is now an error (#1913)
## Known issues
* On-the-fly resolution change requires the Microsoft Store version of Remote Desktop client but sometimes crashes on connect (#1869)
* xrdp's login dialog is not relocated at the center of the new resolution after on-the-fly resolution change happens (#1867)
-----------------------
# Release notes for xrdp v0.9.16 (2021/04/30)
## New features
* On-the-fly resolution change now supported for Xvnc and Xorg (#448, #1820) - thanks to @Nexarian for this significant first contribution. See the following YouTube video for a demo.
* [Windows] https://youtu.be/cZ0ebieZHeA
* [Mac] https://youtu.be/6kfAkyLUgFY
* xrdp can now use key algorithms other than RSA for TLS (#1776)
* Do not spit on the console 2nd stage (inspired by Debian) #1762
* Unified and improved logging (#1742, #1767, #1802, #1806, #1807, #1826, #1843) - thanks to @aquesnel for this detailed work.
* Other logging level fixes (#1864)
* chansrv can now work on `DISPLAY=:0` so it can be used with x11vnc/Vino/etc sessions (#1849)
## Bug fixes
* Fix some regressions in sesman auth modules (#1769)
* Minor manpage fixes (#1787)
* Fix TS_PLAY_SOUND_PDU_DATA to set the correct frequency and duration (#1793)
* Fix password leakage to logs in NeutrinoRDP module (#1872) - thanks to @TOMATO-ONE for reporting.
## Internal changes
* cppcheck version for CI bumped to 2.4 (#1771, #1836)
* FreeBSD version for CI bumped to 12-2 (#1804)
* Support for check unit test framework added (#1843, #1860)
* FreeBSD FUSE module now compiles under CI but needs additional work (#1856)
* Compilation support added for additional Debian platforms (#1818)
* Refactoring:-
* Confusing preprocessor macro USE_NOPAM replaced with USE_PAM (#1800)
* Window manager states in xrdp executable now use symbolic constants instead of numbers (#1803)
* Documentation improvements
* KRDC added to client list (#1817)
* Platform support tier added (#1822)
* README file revised (#1863)
* Don't install test+development executables by default (#1858)
## Changes for packagers
These changes are likely to impact operating system package builders and those building xrdp from source.
* (#1843, #1860) This release introduces an additional optional compile-time dependency on the `check` unit test framework. The dependency is recommended when packaging for compile-time tests.
* (#1858) The executables `memtest` and `tcp_proxy` are no longer copied to the sbin directory on a package install.
## Known issues
* On-the-fly resolution change requires the Microsoft Store version of Remote Desktop client but sometimes crashes on connect (#1869)
* xrdp's login dialog is not relocated at the center of the new resolution after on-the-fly resolution change happens (#1867)
-----------------------
# Release notes for xrdp v0.9.15 (2020/12/28)
## New features
* Allow token sign in without autologon for SSO (#1667 #1668)
* Norwegian keyboard support (#1675)
* Improved config support for chansrv (#1635)
* Unified chansrv, sesman and libxrdp logging (#1633 #1708 #1738) - thanks to @aquesnel
* Support SUSE move to /usr/etc (#1702)
* Parameters may now be specified for user-specified shell (#1270 #1695)
* xrdp executables now allow alternative config files to be specified with -c (#1588 #1650 #1651)
* sesrun improvements (#1741)
* Drive redirection location can now be specified (#1048)
* Now compiles on RISC-V (#1761)
## Bug fixes
* Additional buffer overflow checks (#1662)
* FUSE support now builds on 32-bit platforms (#1682)
* genkeymap array size conflict fixed (#1691)
* Buffering issue with neutrinordp over a slow link fixed (#1608 1634)
* Various documentation fixes (#1704 #1741 #1755 #1759)
* Prevent PAM info message from causing authentication failure (#1727)
* Cosmetic fixes for minor issues (#1751 #1755 #1749)
* Try harder to clean up socket files on session exit (#1740 #1756)
* xrdp-chansrv become defunct in docker while file copy (#1658)
## Internal changes
* Compilation warnings with newer compilers (#1659 #1680)
* Continuation Integration checks on 32-bit platforms now include FUSE support (#1682)
* Continuation Integration builds now default to the Ubuntu Focal platform (#1666)
* FUSE type tidy-ups (#1686)
* Switch from Travis CI to GitHub Actions (#1728 #1732)
* Easier to set up console logging for utilities (#1711)
-----------------------
# Release notes for xrdp v0.9.14 (2020/08/31)
## New features
* VNC multi-monitor support if you are using a suitable Xvnc server #1343
* VNC sessions now resize by default on reconnection if you are using a suitable Xvnc server #1343
* Support Slackware for PAM #1558 #1560
* Support Programmer Dvorak Keyboard #1663
**[HEADS UP]** The VNC changes are significant. They described in more detail on the following wiki page.
* [Xvnc backend : Multi monitor and resize support](https://github.com/neutrinolabs/xrdp/wiki/Xvnc-backend-:-Multi-monitor-and-resize-support)
## Bug fixes
* Fix odd shift key behavior (workaround) #397 #1522
* Fix Xorg path in the document for Arch Linux #1448 #1529
* Fix Xorg path in the document for CentOS 8 #1646 #1647
* Fix internal username/password buffer is smaller than RDP protocol specification #1648 #1653
* Fix possible memory out-of-bounds accesses #1549
* Fix memory allocation overflow #1557
* Prevent chansrv input channels being scanned during a server reset #1595
* Ignore TS_MULTIFRAGMENTUPDATE_CAPABILITYSET from client if fp disabled #1593
* Minor manpage fixes #1611
## Other changes
* CI error fixes
* Introduce cppcheck
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
# Release notes for xrdp v0.9.13.1 (2020/06/30)
This is a security fix release that includes fixes for the following local buffer overflow vulnerability.
* [CVE-2020-4044: Local users can perform a buffer overflow attack against the xrdp-sesman service and then impersonate it](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2020-4044)
This update is recommended for all xrdp users.
## Special thanks
Thanks to [Ashley Newson](https://github.com/ashleynewson) reporting the vulnerability and reviewing fix.
-----------------------
# Release notes for xrdp v0.9.13 (2020/03/11)
This release is an intermediate bugfix release. The previous version v0.9.12 has some regressions on drive redirection.
## Bug fixes (drive redirection related)
* Fix chansrv crashes with segmentation fault (regression in #1449) #1487
* Drive redirection now supports Guacamole client #1505 #1507
* Prevent a coredump in the event of a corrupted file system #1507
* Resolve double-free in `chansrv_fuse` #1469
## Bug fixes (other)
* Fix the issue `xrdp --version | less` will show empty output #1471 #1472
* Fix some warnings found by cppcheck #1479 #1481 #1484 #1485
## Other changes
* Add FreeBSD CI test #1466
* Move Microsoft-defined constants into separate includes #1470
* Perform cppcheck during CI test #1493
* Support mousex button 8/9 #1478
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.12 (2019/12/28)
## Bug fixes
* Fix "The log reference is NULL" error when sesman startup #1425
* Fix behavior when shmem_id changes #1439
* Make vsock config accept -1 for cid and port #1441
* Cleanup refresh rect and check stream bounds #1437
* Significant improvements in drive redirection #1449
* Fix build on macOS Catalina #1462
## Other changes
* Proprietary microphone redirection via rdpsnd is now default off
RDP compatible microphone redirection is on instead #1427
* Skip connecting to chansrv when no channels enabled #1393
* Add openSUSE's pam rules #1442
* Do not terminate xrdp daemon when caught SIGHUP #1319
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
# Release notes for xrdp v0.9.11 (2019/08/19)
## New features
* Suppress output (do not draw screen when client window is minimized) #1330
* Audio input (microphone) redirection compatible with [MS-RDPEAI](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpeai/d04ffa42-5a0f-4f80-abb1-cc26f71c9452) #1369
* Now xrdp can listen on more than one port #1124 #1366
## Bug fixes
* Fix the issue audio redirection sometimes sounds with long delay #1363
* Check term event for more responsive shutdown #1372
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.11 (2019/08/19)
## New features
* Suppress output (do not draw screen when client window is minimized) #1330
* Audio input (microphone) redirection compatible with [MS-RDPEAI](https://docs.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpeai/d04ffa42-5a0f-4f80-abb1-cc26f71c9452) #1369
* Now xrdp can listen on more than one port #1124 #1366
## Bug fixes
* Fix the issue audio redirection sometimes sounds with long delay #1363
* Check term event for more responsive shutdown #1372
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.10 (2019/04/18)
## Special thanks
Thank you for matt335672 contributing to lots of improvements in drive redirection!
## New features
* Restrict outbound (server->client) clipboard transfer, configured in `sesman.ini` #1298
## Bug fixes
* Fix the issue libscp v1 not setting width but height twice #1293
* Fix the issue reconnecting to session causes duplicate drive entries in fuse fs #1299
* Fix default_wm and reconnect_sh refer wrong path after sesman caught SIGUP #1315 #1331
* Shutdown xrdp more responsively #1325
* Improve remote file lookup in drive redirection #996 #1327
* Overwriting & appending to existing files is are now supported #1327
## Other changes
* Add Danish Keyboard #1290
* Put xrdp- prefix to some executables appear in man page #1313
* Replace some URLs from SF.net to xrdp.org #1313
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.9 (2018/12/25)
## Release cycle
From the next release, release cycle will be changed from quarterly to every
4 months. xrdp will be released in April, August, December.
## New features
* Disconnection by idle timeout (requires xorgxrdp v0.2.9 or later) #1227
* Glyph cache v2 (fixes no font issue on iOS/macOS/Android client) #367 #1235
## Bug fixes
* Fix xrdp-chansrv crashes caused in drive redirection #1202 #1225
* Fix build with FDK AAC v2 #1257
* Do not enable RemoteApp if the INFO_RAIL flag is not set (RDP-RDP proxy) #1253
## Other changes
* Add Spanish Latin Amarican keyboard #1237 #1240 #1244
* Dynamic channel improvements #1222 #1224
* Remove some deprecated sesman session types #1232
* Refactoring and cleanups
## Known issues
* FreeRDP 2.0.0-rc4 or later might not able to connect to xrdp due to
xrdp's bad-mannered behaviour, add `+glyph-cache` option to FreeRDP to connect #1266
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.8 (2018/09/25)
## Deprecation notice
We removed TLSv1 and TLSv1.1 from the default config. The current default is TLSv1.2
and TLSv1.3. Users can whenever re-enable these early TLS versions by editing xrdp.
To use TLSv1.3, OpenSSL or LibreSSL must support TLSv1.3. You can know the OpenSSL
or LibreSSL version by `xrdp --version` command that compiled with xrdp.
## Other topics
Pulseaudio modules has been removed from xrdp source tree since it is actually
independent and not part of xrdp. The repository has been moved to:
https://github.com/neutrinolabs/pulseaudio-module-xrdp
If you want to use audio redirection, make sure install the module separately.
## New features
* Add TLSv1.3 support #1193
## Bug fixes
* Ensure unmount redirected drive on fatal X error #1140
## Other changes
* Show more helpful message if xrdp-dis failed #1206
* Pass pulse socket name via environment variable #1198
* Fix xrdp's log path in man page #1168
# Release notes for xrdp v0.9.7 (2018/06/29)
## Deprecation notice
x11rdp has been removed from xrdp reposiory and stored in the separate repository.
Checkout [x11rdp repository](https://github.com/neutrionlabs/x11rdp) if you still need x11rdp.
In most cases, [xorgxrdp](https://github.com/neutrinolabs/xorgxrdp) can replace x11rdp.
## Bug fixes
* Fix endianness detection on ppc64el #1082
* Fix a bug xrdp file copy slow #1112 #1132
* Copy the PAM session environment for the reconnect script #1120
* Accept fullpath for DefaultWindowManager, ReconnectScript #1147
## Other changes
* Add PAM support for Arch Linux #1078
* Show OpenSSL version to '--version' CLI option #1096
* Separate x11rdp from xrdp repository #1104
* Support sesrun start xorgxrdp sessions #1108
* Show configure summary when configure is done #1126 #1134 #1137
* Less spit on the console when sesman starts #1142
* Fix memory leaks #1146
* Separate rc script for FreeBSD into xrdp and xrdp-sesman #1153
* Improve documents and helps
## Known issues
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.6 (2018/03/26)
## Compatibility notice
Exclamation mark (`!`) has been removed from comment out symbol of config files.
Use number sign (`#`) or semicolon (`;`) instead. As a result of this change, now
you can use exclamation mark as config value such as in `tls_ciphers`.
```
tls_ciphers=HIGH:!aNULL:!eNULL:!EXPORT:!RC4
```
See also: #1033
## macOS supports
Please note that xrdp still doesn't support macOS officially so far.
However, a volunteer is working on macOS compatibility.
* Generate dylibs for macOS #1015
* Add PAM support for macOS #1021
## Bug fixes
* Make listen check before daemon fork #988
* Fix xrdp sometimes become zombie processes #1000
* Include hostname in sesman password file name #1006 #1007 #1076
* Fix default startwm.sh to use bash explicitly #1009 #1049
* Fix the issue FreeBSD doesn't acknowledge terminated sessions #1016 #1030
## Other changes
* Add Swiss French keyboard #1053
* Improve perfect forward secrecy, explicitly enable ECDHE/DHE #1024 #1052 #1063
* Lots of leak fixes, cleanups and refactoring
## Known issues
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
-----------------------
# Release notes for xrdp v0.9.5 (2017/12/27)
Please consider sponsoring or making a donation to the project if you like xrdp. We accept financial contributions via [Open Collective](https://opencollective.com/xrdp-project). Direct donations to each developer via GitHub Sponsors are also welcomed.
## Security fixes
* Fix local denial of service [CVE-2017-16927](http://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2017-16927) #958 #979
* Unauthenticated RDP security scan finding / partial auth bypass (no CVE). Thanks to @txtdawg for reporting this.
## New features
* Add a new log level TRACE more verbose than DEBUG #835 #944
* SSH agent forwarding via RDP #867 #868 FreeRDP/FreeRDP#4122
* Support horizontal wheel properly #928
* GFX-RFX lossy compression levels are now selectable depending on connection type on the client (#3183, backport of #2973)
## Bug fixes
* A regression in the code for creating the chansrv FUSE directory has been fixed (#3088, backport of #3082)
* Fix a systemd dependency ("network-online.target") (#3088, backport of #3086)
* A problem in session list processing which could result in incorrect display assignments has been fixed (#3088, backport of #3103)
* A problem in GFX resizing which could lead to a SEGV in xrdp has been fixed (#3088, backport of #3107)
* A problem with the US Dvorak keyboard layout has been resolved (#3088, backport of #3112)
* A regression bug when pasting image to LibreOffice has been fixed [Sponsored by Krämer Pferdesport GmbH & Co KG] (#3102 #3120)
* Fix a regression when the server tries to negotiate GFX when max_bpp is not high enough (#3118 #3122)
* Fix a GFX multi-monitor screen placing issue on minimise/maximize (#3075 #3127)
* Fix an issue some files are not included properly in release tarball (#3149 #3150)
* Using 'I' in the session selection policy now works correctly (#3167 #3171)
* A potential name buffer overflow in the redirector has been fixed [no security implications] (#3175)
* Screens wider than 4096 pixels should now be supported (#3083)
* An unnecessary licensing exchange during connection setup has been removed. This was causing problems for FIPS-compliant clients (#3132 backport of #3143)
* Avoid use of hard-coded sesman port #895
* Workaround for corrupted display with Windows Server 2008 using NeutrinoRDP #869
* Fix glitch in audio redirection by AAC #910 #936
* Implement vsock support #930 #935 #948
* Avoid 100% CPU usage on SSL accept #956
## Internal changes
* FreeBSD CI bumped to 13.3 (#3088, backport of #3104)
## Other changes
* Add US Dvorak keyboard #929
* Suppress some misleading logs #964
* Add Finnish keyboard #972
* Add more user-friendlier description about Xorg config #974
* Renew pulseaudio document #984 #985
* Lots of cleanups and refactoring
## Changes for users
* None since v0.10.0.
* If moving from v0.9.x, read the v0.10.0 release note.
## Known issues
* Audio redirection by MP3 codec doesn't sound with some client, use AAC instead #965
## Changes for packagers or developers
* None since v0.10.0.
* If moving from v0.9.x, read the v0.10.0 release note.
-----------------------
# Release notes for xrdp v0.9.4 (2017/09/28)
# Release notes for xrdp v0.10.0 (2024/05/10)
## New features
* Accept prefill credentials in base64 form #153 #811
* Indroduce AAC encoder to audio redirection (requires Windows 10 client)
This section notes changes since the [v0.10 branch](#branch-v010) was created.
## Bugfixes
* Fix ocasional SEGV in drive redirection #838
* Fix client's IP addresses in xrdp-sesman.log are always logged as `0.0.0.0` #878 #882
* Fix `ls_background_image` didn't accept full path #776 #853
* Fix misuse of hidelogwindow #414 #876
* Fix WTSVirtualChannelWrite return code #859
* Fix no longer needed socket files remained in the socket dir #812 #831
* Make creating socket path a bit more robust #823
## General announcements
The biggest news of this release is that [Graphic Pipeline Extension](https://learn.microsoft.com/en-us/openspecs/windows_protocols/ms-rdpegfx/da5c75f9-cd99-450c-98c4-014a496942b0) also called GFX in short has been supported. xrdp v0.10 with GFX achieves more frame rates and less bandwidth compared to v0.9. There is a significant performance improvement especially if the client is Windows 11's mstsc.exe or Microsoft Remote Desktop for Mac. GFX H.264/AVC 444 mode and hardware-accelerated encoding are not supported in this version yet.
## Other changes
* Add Belgian keyboard #858
* Add a PAM file for FreeBSD #824
* Several refactorings and cosmetic changes
GFX implementation in xrdp is sponsored by an enterprise sponsor. @CyberTrust is also one of the sponsors. We very much appreciate the sponsorship. It helped us to accelerate xrdp development and land GFX earlier!
## Known issues
* Windows 10 (1703) shows black blank screen in RemoteFX mode
* This issue is already fixed at Insider Preview build 16273
Please consider sponsoring or making a donation to the project if you like xrdp. We accept financial contributions via [Open Collective](https://opencollective.com/xrdp-project). Direct donations to each developer via GitHub Sponsors are also welcomed.
-----------------------
## Highlights
This section describes the most user-visible new or changed features in xrdp since v0.9.19. See [Branch v0.10](#branch-v010) for all changes relative to v0.9.19.
# Release notes for xrdp v0.9.3.1 (2017/08/16)
This release fixes a trivial packaging issue #848 occurred in v0.9.3. The issue only affects systemd systems. This release is principally for distro packagers or users who compile & install xrdp from source.
Users who running xrdp on these systems don't need to upgrade from v0.9.3 to v0.9.3.1.
* Linux systems without systemd
* non-Linux systems such as BSD operating systems
-----------------------
# Release notes for xrdp v0.9.3 (2017/07/15)
## New features
* Log user-friendly messages when certificate/privkey is inaccessible
## Bugfixes
* Now sesman sets mandatory LOGNAME environment variable #725
* Now sesman ensures socket directory present #801
* Exit with failure status if port already in use #644
* Eliminate some hard coded paths
* Fix glitches with IPv4 struct initialization #803
* Fix some keyboard layout integration (UK, Spanish)
* Fix handle OS when IPv6 disabled #714
* Fix issues around systemd session #778
* Fix protocol error when 32 bit color and non RemoteFX session #737 #804
* Fix sesadmin shows error when no sessions #797
* Fix TLS spins 100% CPU #728
* Fix Xvnc backend disconnects when some data copied to clipboard #755
* Pick up the first section if given section(domain) doesn't match anything #750
## Other changes
* Change xrdp-chansrv log path to include display number
* Optimize startwm.sh for SUSE
* Several cleanups and optimizations
## Known issues
* Windows 10 (1703) shows black blank screen in RemoteFX mode
-----------------------
# Release notes for xrdp v0.9.2 (2017/03/30)
## New features
* RemoteFX codec support is now enabled by default.
* Bitmap updates support is now enabled by default.
* TLS ciphers suites and version is now logged.
* Connected computer name is now logged.
* Switched to Xorg (xorgxrdp) as the default backend now.
* Miscellaneous RemoteFX codec mode improvements.
* Socket directory is configurable at the compile time.
## Bugfixes
* Parallels client for MacOS / iOS can now connect (audio redirection must be disabled on client or xrdp server though).
* MS RDP client for iOS can now connect using TLS security layer.
* MS RDP client for Android can now connect to xrdp.
* Large resolutions (4K) can be used with RemoteFX graphics.
* Multiple RemoteApps can be opened throguh NeutrinoRDP proxy.
* tls_ciphers in xrdp.ini is not limited to 63 chars anymore, it's variable-length.
* Fixed an issue where tls_ciphers were ignored and rdp security layer could be used instead.
* Kill disconnected sessions feature is working with Xorg (xorgxrdp) backend.
* Miscellaneous code cleanup and memory issues fixes.
-----------------------
# Release notes for xrdp v0.9.1 (2016/12/21)
## New features
* New xorgxrdp backend using existing Xorg with additional modules
* Improvements to X11rdp backend
* Support for IPv6 (disabled by default)
* Initial support for RemoteFX Codec (disabled by default)
* Support for TLS security layer (preferred over RDP layer if supported by the client)
* Support for disabling deprecated SSLv3 protocol and for selecting custom cipher suites in xrdp.ini
* Support for bidirectional fastpath (enabled in both directions by default)
* Support clients that don't support drawing orders, such as MS RDP client for Android, ChromeRDP (disabled by default)
* More configurable login screen
* Support for new virtual channels:
* rdpdr: device redirection
* rdpsnd: audio output
* cliprdr: clipboard
* xrdpvr: xrdp video redirection channel (can be used along with NeutrinoRDP client)
* Support for disabling virtual channels globally or by session type
* Allow to specify the path for backends (Xorg, X11rdp, Xvnc)
* Added files for systemd support
* Multi-monitor support
* xrdp-chansrv stroes logs in `${XDG_DATA_HOME}/xrdp` now
* Added GFX support with multi-monitor support (including monitor hot plug/unplug) (#2256 #2338 #2595 #2879 #2891 #2911 #2929 #2933)
* Touchpad inertial scrolling (#2364, #2424). Thanks to new contributor @seflerZ
* New look of login screen (#2366)
* Scaled login screen on higher DPI monitors (#2341, #2427, #2435)
* This feature works automatically when monitor DPI information is sent by the client (i.e. a full-screen session)
* Native platform tools are now provided to manipulate .fv1 format font files.
* The format of the date and time in the log file has been changed to ISO 8601 with milliseconds (#2386 #2541)
* xrdp-sesman now supports a `--reload` switch to allow for the configuration to be changed when sessions are active (#2416)
## Security fixes
* User's password could be recovered from the Xvnc password file
* X11 authentication was not used
None
## New features
* If the client announces support for the Image RemoteFX codec it is logged (back-port of #2946)
## Bug fixes
* Fix some monitor hotplug issues (#2951)
* GFX: Fix disconnect on resize of busy windows (#2962 #2957)
* Fall back to IPv4 if IPv6 capable but don't have an IPv6 address set (#2967 #2957)
* Remove tcutils channel from xrdp.ini (#2970 #2957)
* Don't generate a corefile when generating SIGSEGV during unit testing (#2987)
* If the drdynvc static channel isn't available, disable GFX gracefully (#3003)
* A buffer misconfiguration which affects performance on high bandwidth, high latency links has been addressed (cherry-pick of #2910)
* A permissions fix for the socketdir update in #2731 has been issued (cherry-pick of #3011)
## Internal changes
* Adjust log level not too verbose (#2954 #2972 #2957)
* Migrate GitHub actions to Node 20 (#2955 #2957)
* Bump copyright year and make easier to bump (#2956 #2957)
* Remove duplicate DEBUG output (#2976 #2977)
* Add script to make release tarball (#2983)
* Syscall filter for xrdp updated (cherry-pick of #3017)
* GFX memory usage for large screens is greatly improved (cherry-pick of #3013)
* librfxcodec SSE2 performance improvements (#3032)
## Known issues
* On-the-fly resolution change with the Microsoft Store version of Remote Desktop client sometimes crashes on connect (#1869)
* xrdp's login dialog is not relocated at the center of the new resolution after on-the-fly resolution change happens (#1867)
## Changes for users
* If moving from v0.9.x, read the '[User changes](#user-changes)' for the v0.10 branch below.
## Changes for packagers or developers
* If moving from v0.9.x, read the '[User changes](#user-changes)' and '[Significant changes for packagers or developers section](#significant-changes-for-packagers-or-developers)' sections for the v0.10 branch below.
-----------------------
# Branch v0.10
This branch was forked from development on 2024-02-08 in preparation for testing and release of v0.10.1.
The changes in this section are relative to version v0.9.19 of xrdp.
## User changes
* The [x11rdp](/neutrinolabs/x11rdp) X server is no longer supported. Users will need to move to xorgxrdp (#2489)
* Running xrdp and xrdp-sesman on separate hosts is no longer supported.
* There are some changes to `xrdp.ini` and `sesman.ini` which break backwards compatibility. In particular:-
* `sesman.ini/Globals/ListenAddress` is not longer used. A warning message is generated if this is found in the configuration, but the configuration will continue to work.
* `sesman.ini/Globals/ListenPort` is now a path to a socket, or an unqualified socket in a default directory. If the old default value `3350` is found, a warning is generated and a default value is used instead. The configuration will continue to work.
* The `ip` and `pamsessionmng` parameters are no longer required in sections in `xrdp.ini` to locate the sesman port. Unnecessary usages of this parameter now generate warnings. The configuration will continue to work.
* The 'C' field for the session allocation policy has been replaced with `Policy=Separate`. This field is has a very specific specialist purpose, and will not be used by the vast majority of users. The renaming makes it much clearer what is happening (#2251 #2239). Any uses of the 'C' field will generate warnings, **and the configuration will require updating**
* The format of the date and time in the log file has been changed to ISO 8601 with milliseconds (#2386 #2541)
Users are urged to heed any generated configuration warnings and update their configurations. Later major versions of xrdp may remove these warnings, or introduce other behaviours for the affected parameters.
## Security fixes
This branch provides following important security fixes reported by [Team BT5 (BoB 11th)](https://github.com/Team-BT5). We appreciate their great help with making and reviewing patches for them.
* [CVE-2022-23468](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23468)
* [CVE-2022-23477](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23477)
* [CVE-2022-23478](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23478)
* [CVE-2022-23479](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23479)
* [CVE-2022-23480](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23480)
* [CVE-2022-23481](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23481)
* [CVE-2022-23483](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23483)
* [CVE-2022-23482](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23482)
* [CVE-2022-23484](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23484)
* [CVE-2022-23493](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2022-23493)
The following issue was reported by [@gafusss](https://github.com/gafusss)
* [CVE-2023-40184](https://cve.mitre.org/cgi-bin/cvename.cgi?name=CVE-2023-40184)
Other security fixes:-
* [CVE-2023-42822: Unchecked access to font glyph info](https://www.cve.org/CVERecord?id=CVE-2023-42822)
## New features
* Added GFX support with multi-monitor support (including monitor hot plug/unplug) (#2256 #2338 #2595 #2879 #2891 #2911 #2929 #2933)
* Add Ulalaca that enables remote access to macOS's native screen (developed by [team unstablers](https://unstabler.pl/))
* Ulalaca is still heavy in development, not suitable for production use yet
* `sessionbroker` and `sessionprojector` are also required, see also [README](https://github.com/unstabler/ulalaca)
* Scaled login screen on higher DPI monitors (#2341, #2427, #2435)
* This feature works automatically when monitor DPI information is sent by the client (i.e. a full-screen session)
* Native platform tools are now provided to manipulate .fv1 format font files.
* Touchpad inertial scrolling (#2364, #2424). Thanks to new contributor @seflerZ
* New look of login screen (#2366)
* Record codec GUID to identify unknown codc (#2401)
* OpenSuSE Tumbleweed move to /usr/lib/pam.d is now supported in the installation scripts (#2413)
* xrdp-sesman now supports a `--reload` switch to allow for the configuration to be changed when sessions are active (#2416)
* VNC backend session now supports extra mouse buttons 6, 7 and 8 (#2426)
* `LogFile=<stdout>` redirects log to stdout, which is useful for debugging (#2407)
* xrdp-sesrun and xrdp-sesadmin can now authenticate automatically as the logged-in user without a password (#2472)
* Empty passwords are no longer automatically passed though to sesman for authentication (#2487)
* BSD setusercontext() is now supported (#2225, #2473)
* The FUSE mount path can now be qualified with the display name or display string (#2528)
* Debian: use startup command from /usr/share/xsession if DISPLAY_SESSION is set (#2522)
* The directory where PAM configuration files is installed can now be set with `--with-pamconfdir` (#2552 #2557)
* Some classes of 'blue screen' failures have been addressed:-
* X server failures are now reported as a separate error from window manager (#2592)
* sesman failures are reported immediately (#2640)
* Allow longer UserWindowManager strings (#2651)
* Some changes have been made to made it easier to implement AppArmor support in the future (#2265):-
* `g_file_open()` has been replaced with `g_file_open_ro()` and `g_file_open_rw()` calls
* the starting of the X server with no-new-privileges can now be disabled by the administrator
* On systemd-based systems, system call filtering is used to restrict the system calls that the xrdp process can make (#2697 #2719)
* GNOME and KDE keyrings should now be supported out-of-the-box on Debian and Arch (#2776)
* Implement vsock support for FreeBSD #2798
* Side buttons on some mice are now supported by NeutrinoRDP (#2864). Thanks to new contributor @naruhito for this patch.
* Support for the Elbrus E2K architecture (#2872). Thanks to new contributor @r-a-sattarov for this patch.
* Just log Image RemoteFX codec (#2946)
## Bug fixes
* A missing directive to link libxrdpapi with libcommon has been added (#2185)
* Some sesman config warning messages could be lost. This has now been fixed (#2198)
* Moving sesman to a Unix domain socket fixes a number of issues related to firewalls and Ipv4/v6 connectivity issues (#1596 #1805 #1855)
* Secondary groups are now added correctly on Linux from /etc/security/group.conf (#1978).
* The `--disable-static` switch for `configure` now works (#1467 #2257)
* Windows RDS compatibility has been improved, so some old clients (e.g. Wyse Sx0) can now be used again with xrdp in non-TLS mode (#2166)
* PAM_RHOST is now set for the PAM stack (#2251, #392)
* A minor spacing issue in a sesman log message has been fixed (#2282)
* MSTSC crashes when resolution is changed by maximizing on a different monitor (#2291 #2300)
* Fix swapped `require_credentials`/`enable_token_login` config options in xrdp.ini manpage (#2391)
* Passwords are no longer left on the heap in sesman (#1599 #2438)
* Set permissions on pcsc socket dir to owner only (#2454 #2459)
* The Kerberos authentication module has been reworked and tested (#2453)
* Minor documentation fixes (#2481 #2581)
* The correct message is now generated when the session limit is reached (#642)
* sesman now returns better information to xrdp when session creation fails (#909, #1921)
* MaxLoginRetry limit for sesman now works (#1739)
* On systems where the same user can have multiple names, the correct session is now reconnected (#1823)
* On FreeBSD, the correct peer is now logged for xorgxrdp connections (#146)
* In some situations, xrdp sessions can be bootstrapped on system startup (#1303)
* Don't try to listen on the scard socket if it isn't there (#2504)
* Fix some noise of MP3/AAC audio redirection and add some parameters to tweak sounds (#2519 #2608)
* Memory management fixes to list module (#2536 #2575)
* Session is not now started until X server is fully active (#2492)
* Fix potential NULL dereferences in chansrv (#2573)
* An erroneous free in the smartcard handling code has been removed (#2607)
* An unnecessary 'check.h' include was removed which prevented compilation on Arch systems (#2649)
* No user session created with xrdp and pam_systemd_home account module (#1684)
* Homedir gets not correctly created at first login (#350)
* pam_setcred never returns xrdp-sesman is hung (#1323)
* chansrv should no longer hang occasionally in developer builds on session exit (#2145)
* Environment variables set by PAM modules are no longer restricted to around 250 characters (#2711)
* Checking group membership should now work better on systems using directory services (#2806 #2815)
* Pasting more than 32K characters of text to the clipboard now succeeds (#1839 #2810)
* An incompatibility with FreeRDP 2.11.2 in the drive redirector has been fixed (#2834 #2838)
* Unicode bugs have been fixed (#942 #2603)
## Internal changes
* SCP (Sesman Control Protocol) has been refactored from separate V0 and V1 protocols to a simplified V2 protocol running on top of a new library 'libipm' (#2163).
* libipm provides a way to pass file descriptors between processes (#2494)
* SCP connections are now only supported on top of Unix Domain Sockets (#2207 #2235 #2247)
* Monitor processing logic, which was in two places, has now been unified (#1895 #2301)
* Simplifications to transport connect logic (#2204)
* The fields in `struct trans` and `struct xrdp_client_info` used for storing client addressing information have been simplified (#2251)
* A couple of string utility functions have been added to parse character strings like the one used for the session allocation policy (#2251)
* cppcheck version used for CI bumped to 2.13.0 (#2520 #2737 #2785 #2886). Note that #2785 greatly increases cppcheck scan times.
* cppcheck install script no longer installs z3 for cppcheck >= 2.8 (#2782)
* The physical desktop size information sent from the client is now recorded in more situations (#2310)
* Simple maintenance improvements (#2354)
* An opaque type is now used for the auth_info handle used by the sesman auth module (#2362)
* CI updates to cope with github upgrades (#2394)
* GUIDs created for new sessions are now compliant with RFC4122 random UUIDs (#2420)
* Some 'magic numbers' have been replaced with constants (#2421)
* FreeBSD CI now runs a 'make check' (#2490)
* FreeBSD CI now runs on FreeBSD 13.2 (#2621 #2896)
* Some logging improvements on audio redirection (#2537)
* Extra executables : waitforx (#2492 #2591 #2586) xrdp-sesexec (#2644)
* The poll() system call now replaces select() for monitoring file descriptors (#2497 #2568)
* sigaction() now replaces signal() for increased portability (#2813)
* Other portability changes (#2909)
* Some extra convenience functions were added for handling lists of strings (#2576)
* `g_malloc`, `g_free`, `g_memset`, `g_memcpy`, and `g_memmove` are now macros. These should not be used in new code (#2609)
* config_ac.h is now used consistently (#2667)
* as mentioned above, `g_file_open()` has been replaced with `g_file_open_ro()` and `g_file_open_rw()` calls
* The separate fifo packages in the common directory and chansrv have now been merged (#2686)
* Unicode conversions are now provided by explicit functions rather than relying on C library `mbstowcs()`/`wcstombs()` functions (#2794)
* Some test timeouts have been increased for slow CI machines (#2901)
* `g_obj_wait()` can now take a zero timeout (#2904)
* POSIX shared memory is now used to communicate with `xorgxrdp` rather than System-V shared memory (#2709 #2786 #2889)
## Significant changes for packagers or developers
* The libscp.so shared library is replaced with libipm.so
* A new shared library libsesman.so contains shared code for sesman and related executables (#2601)
* The default setting for `--with-socketdir` is now `/var/run/xrdp` rather than `/tmp/.xrdp`. The new setting works for installations where `/tmp` is polyinstantiated ( see #1482 for more details)
* The permissions of the socketdir have changed from 1777 to 755 (owned by root). Within this directory are the sesman socket and user-specific directories. The user-specific directories store the session sockets used by each user (#2731).
It is recommended not to use the same `--with-socketdir` setting for v0.9.x and v0.10.x packages as the differing permissions can cause problems on package downgrades. See #3066 for an example of where this can be a problem.
* Passing `--disable-static` to `configure` prevents unused static libraries being installed by `make install`.
* The `simple.c` example xrdpapi program has been updated to work with logging changes, and is now built as part of the CI (#2276)
* If the `xrdp-mkfv1` utility is to be built, the switch `--with-freetype2` must be passed to `./configure`.
* Minimum supported autoconf version is now 2.69 (#2408)
* Add xrdp-sesman.system to distributed files (#2466 #2467)
* A developer-only utility to exercise the auth module selected at configure time has been provided (#2453)
* Extra executables have been added to this release in pkglibexecdir
* The default systemd unit files have been changed to no longer fork (#2672)

View File

@ -65,20 +65,23 @@ xrdp listens on 3389/tcp. Make sure your firewall accepts connection to
apt install xrdp
```
### Fedora, RHEL and derivatives
### RedHat / CentOS / Fedora
If you're not running Fedora, make sure to enable EPEL packages first.
On RedHat and CentOS, make sure to enable EPEL packages first.
```bash
dnf install epel-release
yum install epel-release
```
(All systems) Install xrdp with:-
Install xrdp package.
```bash
dnf install xrdp
yum install xrdp
```
`yum` is being replaced with `dnf`, so you may need to use `dnf` instead
of `yum` in the above commands.
## Compiling
See also https://github.com/neutrinolabs/xrdp/wiki#building-from-sources

View File

@ -20,7 +20,6 @@ include_HEADERS = \
xrdp_client_info.h \
xrdp_constants.h \
xrdp_rail.h \
xrdp_scancode_defs.h \
xrdp_sockets.h
AM_CPPFLAGS = \
@ -60,8 +59,6 @@ libcommon_la_SOURCES = \
parse.c \
parse.h \
rail.h \
scancode.c \
scancode.h \
ssl_calls.c \
ssl_calls.h \
string_calls.c \

View File

@ -341,18 +341,21 @@ list_dump_items(struct list *self)
}
}
/******************************************************************************/
/**
* Appends a string fragment to a list
* @param[in,out] start Pointer to start of fragment (by reference)
* @param end Pointer to one past end of fragment
* @param list List to append to
* @result 1 for success
*
* In the event of a memory failure, 0 is returned and the list is deleted.
*/
int
split_string_append_fragment(const char **start, const char *end,
struct list *list)
{
unsigned int len = end - *start;
// Check for an unexpected terminator in the string
const char *term = (const char *)memchr(*start, '\0', len);
if (term != NULL)
{
end = term;
len = end - *start;
}
const unsigned int len = end - *start;
char *copy = (char *)malloc(len + 1);
if (copy == NULL)
{

View File

@ -95,19 +95,6 @@ list_append_list_strdup(struct list *self, struct list *dest, int start_index);
void
list_dump_items(struct list *self);
/**
* Appends a string fragment to a list
* @param[in,out] start Pointer to start of fragment (by reference)
* @param end Pointer to one past end of fragment
* @param list List to append to
* @result 1 for success
*
* In the event of a memory failure, 0 is returned and the list is deleted.
*/
int
split_string_append_fragment(const char **start, const char *end,
struct list *list);
/**
* Splits a string on a separation character and then returns a list of
* the string split by the character, without the character contained within

View File

@ -55,7 +55,7 @@ static struct log_config *g_staticLogConfig = NULL;
* @return see open(2) return values
*
*/
static int
int
internal_log_file_open(const char *fname)
{
int ret = -1;
@ -88,7 +88,7 @@ internal_log_file_open(const char *fname)
* @return syslog equivalent logging level
*
*/
static int
int
internal_log_xrdp2syslog(const enum logLevels lvl)
{
switch (lvl)
@ -275,7 +275,7 @@ internal_log_text2level(const char *buf)
}
/******************************************************************************/
static struct log_config *
struct log_config *
internal_config_read_logging(int file,
const char *applicationName,
const char *section_prefix)
@ -547,7 +547,7 @@ internal_log_config_copy_levels(struct log_config *dest,
#endif
}
static void
void
internal_log_config_copy(struct log_config *dest, const struct log_config *src)
{
if (src != NULL && dest != NULL)

View File

@ -80,7 +80,6 @@
#define RNS_UD_CS_WANT_32BPP_SESSION 0x0002
#define RNS_UD_CS_SUPPORT_MONITOR_LAYOUT_PDU 0x0040
#define RNS_UD_CS_SUPPORT_DYNVC_GFX_PROTOCOL 0x0100
#define RNS_UD_CS_SUPPORT_SKIP_CHANNELJOIN 0x0800
/* Client Core Data: connectionType (2.2.1.3.2) */
#define CONNECTION_TYPE_MODEM 0x01
@ -137,9 +136,6 @@
#define XR_CHANNEL_OPTION_SHOW_PROTOCOL 0x00200000
#define REMOTE_CONTROL_PERSISTENT 0x00100000
/* Server earlyCapabilityFlags (2.2.1.4.2) */
#define RNS_UD_SC_SKIP_CHANNELJOIN_SUPPORTED 0x00000008
/* Server Proprietary Certificate (2.2.1.4.3.1.1) */
/* TODO: to be renamed */
#define SEC_TAG_PUBKEY 0x0006 /* BB_RSA_KEY_BLOB */
@ -484,10 +480,12 @@
#define RDP_INPUT_MOUSEX 0x8002
/* Keyboard Event: keyboardFlags (2.2.8.1.1.3.1.1.1) */
#define KBDFLAGS_EXTENDED 0x0100
#define KBDFLAGS_EXTENDED1 0x0200
#define KBDFLAGS_DOWN 0x4000
#define KBDFLAGS_RELEASE 0x8000
/* TODO: to be renamed */
#define KBD_FLAG_RIGHT 0x0001
#define KBD_FLAG_EXT 0x0100 /* KBDFLAGS_EXTENDED */
#define KBD_FLAG_QUIET 0x1000
#define KBD_FLAG_DOWN 0x4000
#define KBD_FLAG_UP 0x8000
/* Mouse Event: pointerFlags (2.2.8.1.1.3.1.1.3) */
#define PTRFLAGS_HWHEEL 0x0400
@ -506,9 +504,10 @@
#define PTRXFLAGS_BUTTON2 0x0002
/* Synchronize Event: toggleFlags (2.2.8.1.1.3.1.1.5) */
#define TS_SYNC_SCROLL_LOCK 0x0001
#define TS_SYNC_NUM_LOCK 0x0002
#define TS_SYNC_CAPS_LOCK 0x0004
/* TODO: to be renamed */
#define KBD_FLAG_SCROLL 0x0001 /* TS_SYNC_SCROLL_LOCK */
#define KBD_FLAG_NUMLOCK 0x0002
#define KBD_FLAG_CAPITAL 0x0004
#define TS_SYNC_KANA_LOCK 0x0008
/* Client Fast-Path Input Event PDU 2.2.8.1.2 */

View File

@ -3167,48 +3167,6 @@ g_setgid(int pid)
#endif
}
/*****************************************************************************/
/* Used by daemonizing code */
/* returns error, zero is success, non zero is error */
int
g_drop_privileges(const char *user, const char *group)
{
int rv = 1;
int uid;
int gid;
if (g_getuser_info_by_name(user, &uid, NULL, NULL, NULL, NULL) != 0)
{
LOG(LOG_LEVEL_ERROR, "Unable to get UID for user '%s' [%s]", user,
g_get_strerror());
}
else if (g_getgroup_info(group, &gid) != 0)
{
LOG(LOG_LEVEL_ERROR, "Unable to get GID for group '%s' [%s]", group,
g_get_strerror());
}
else if (initgroups(user, gid) != 0)
{
LOG(LOG_LEVEL_ERROR, "Unable to init groups for '%s' [%s]", user,
g_get_strerror());
}
else if (g_setgid(gid) != 0)
{
LOG(LOG_LEVEL_ERROR, "Unable to set group to '%s' [%s]", group,
g_get_strerror());
}
else if (g_setuid(uid) != 0)
{
LOG(LOG_LEVEL_ERROR, "Unable to set user to '%s' [%s]", user,
g_get_strerror());
}
else
{
rv = 0;
}
return rv;
}
/*****************************************************************************/
/* returns error, zero is success, non zero is error */
/* does not work in win32 */
@ -3328,10 +3286,10 @@ g_set_allusercontext(int uid)
/*****************************************************************************/
/* does not work in win32
returns pid of process that exits or zero if signal occurred
a proc_exit_status struct can optionally be passed in to get the
an exit_status struct can optionally be passed in to get the
exit status of the child */
int
g_waitchild(struct proc_exit_status *e)
g_waitchild(struct exit_status *e)
{
#if defined(_WIN32)
return 0;
@ -3339,14 +3297,14 @@ g_waitchild(struct proc_exit_status *e)
int wstat;
int rv;
struct proc_exit_status dummy;
struct exit_status dummy;
if (e == NULL)
{
e = &dummy; // Set this, then throw it away
}
e->reason = E_PXR_UNEXPECTED;
e->reason = E_XR_UNEXPECTED;
e->val = 0;
rv = waitpid(-1, &wstat, WNOHANG);
@ -3361,12 +3319,12 @@ g_waitchild(struct proc_exit_status *e)
}
else if (WIFEXITED(wstat))
{
e->reason = E_PXR_STATUS_CODE;
e->reason = E_XR_STATUS_CODE;
e->val = WEXITSTATUS(wstat);
}
else if (WIFSIGNALED(wstat))
{
e->reason = E_PXR_SIGNAL;
e->reason = E_XR_SIGNAL;
e->val = WTERMSIG(wstat);
}
@ -3407,14 +3365,10 @@ g_waitpid(int pid)
Note that signal handlers are established with BSD-style semantics,
so this call is NOT interrupted by a signal */
struct proc_exit_status
struct exit_status
g_waitpid_status(int pid)
{
struct proc_exit_status exit_status =
{
.reason = E_PXR_UNEXPECTED,
.val = 0
};
struct exit_status exit_status = {.reason = E_XR_UNEXPECTED, .val = 0};
#if !defined(_WIN32)
if (pid > 0)
@ -3429,12 +3383,12 @@ g_waitpid_status(int pid)
{
if (WIFEXITED(status))
{
exit_status.reason = E_PXR_STATUS_CODE;
exit_status.reason = E_XR_STATUS_CODE;
exit_status.val = WEXITSTATUS(status);
}
if (WIFSIGNALED(status))
{
exit_status.reason = E_PXR_SIGNAL;
exit_status.reason = E_XR_SIGNAL;
exit_status.val = WTERMSIG(status);
}
}
@ -3538,12 +3492,6 @@ g_sigterm(int pid)
#endif
}
/*****************************************************************************/
int g_pid_is_active(int pid)
{
return (kill(pid, 0) == 0);
}
/*****************************************************************************/
/* does not work in win32 */
int

View File

@ -23,16 +23,16 @@
#include "arch.h"
enum proc_exit_reason
enum exit_reason
{
E_PXR_STATUS_CODE = 0, ///< 'val' contains exit status
E_PXR_SIGNAL, ///< 'val' contains a signal number
E_PXR_UNEXPECTED
E_XR_STATUS_CODE = 0, ///< 'val' contains exit status
E_XR_SIGNAL, ///< 'val' contains a signal number
E_XR_UNEXPECTED
};
struct proc_exit_status
struct exit_status
{
enum proc_exit_reason reason;
enum exit_reason reason;
int val;
};
@ -338,7 +338,6 @@ void g_signal_pipe(void (*func)(int));
void g_signal_usr1(void (*func)(int));
int g_fork(void);
int g_setgid(int pid);
int g_drop_privileges(const char *user, const char *group);
int g_initgroups(const char *user);
int g_getuid(void);
int g_getgid(void);
@ -353,9 +352,9 @@ int g_setlogin(const char *name);
*/
int g_set_allusercontext(int uid);
#endif
int g_waitchild(struct proc_exit_status *e);
int g_waitchild(struct exit_status *e);
int g_waitpid(int pid);
struct proc_exit_status g_waitpid_status(int pid);
struct exit_status g_waitpid_status(int pid);
/*
* Sets the process group ID of the indicated process to the specified value.
* (POSIX.1)
@ -372,12 +371,6 @@ int g_exit(int exit_code);
int g_getpid(void);
int g_sigterm(int pid);
int g_sighup(int pid);
/*
* Is a particular PID active?
* @param pid PID to check
* Returns boolean
*/
int g_pid_is_active(int pid);
int g_getuser_info_by_name(const char *username, int *uid, int *gid,
char **shell, char **dir, char **gecos);
int g_getuser_info_by_uid(int uid, char **username, int *gid,

File diff suppressed because it is too large Load Diff

View File

@ -68,7 +68,7 @@ typedef signed int overflow_int_t;
#define critical_if_fail(expr)
static int _pixman_log_error(const char *func, const char *format, ...)
int _pixman_log_error(const char *func, const char *format, ...)
{
return 0;
}

View File

@ -1,488 +0,0 @@
/**
* Copyright (C) 2022 Matt Burt, all xrdp contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*
*/
/**
* @file common/scancode.c
* @brief Scancode handling
*/
#if defined(HAVE_CONFIG_H)
#include <config_ac.h>
#endif
#include <stddef.h>
#include <string.h>
#include "scancode.h"
struct scancode_to_keycode
{
unsigned short scancode; // 0x1xx implies an extended key
unsigned char keycode;
};
#define ELEMENTS(x) (sizeof(x) / sizeof(x[0]))
// Sources:-
// file:/usr/share/X11/xkb/keycodes/evdev
// https://wiki.osdev.org/PS/2_Keyboard
// https://www.kbdlayout.info/
static const struct scancode_to_keycode
evdev_scancode_to_keycode_map[] =
{
// Virtual XKB
// Key (US) Symbol
// -------- ------
{ 0x001, 9 }, // VK_ESCAPE ESC
{ 0x002, 10 }, // VK_1 AE01
{ 0x003, 11 }, // VK_2 AE02
{ 0x004, 12 }, // VK_3 AE03
{ 0x005, 13 }, // VK_4 AE04
{ 0x006, 14 }, // VK_5 AE05
{ 0x007, 15 }, // VK_6 AE06
{ 0x008, 16 }, // VK_7 AE07
{ 0x009, 17 }, // VK_8 AE08
{ 0x00a, 18 }, // VK_9 AE09
{ 0x00b, 19 }, // VK_0 AE10
{ 0x00c, 20 }, // VK_OEM_MINUS AE11
{ 0x00d, 21 }, // VK_OEM_PLUS AE12
{ 0x00e, 22 }, // VK_BACK BKSP
{ 0x00f, 23 }, // VK_TAB TAB
{ 0x010, 24 }, // VK_Q AD01
{ 0x011, 25 }, // VK_W AD02
{ 0x012, 26 }, // VK_E AD03
{ 0x013, 27 }, // VK_R AD04
{ 0x014, 28 }, // VK_T AD05
{ 0x015, 29 }, // VK_Y AD06
{ 0x016, 30 }, // VK_U AD07
{ 0x017, 31 }, // VK_I AD08
{ 0x018, 32 }, // VK_O AD09
{ 0x019, 33 }, // VK_P AD10
{ 0x01a, 34 }, // VK_OEM_4 AD11
{ 0x01b, 35 }, // VK_OEM_6 AD12
{ 0x01c, 36 }, // VK_RETURN RTRN
{ 0x01d, 37 }, // VK_LCONTROL LCTL
{ 0x01e, 38 }, // VK_A AC01
{ 0x01f, 39 }, // VK_S AC02
{ 0x020, 40 }, // VK_D AC03
{ 0x021, 41 }, // VK_F AC04
{ 0x022, 42 }, // VK_G AC05
{ 0x023, 43 }, // VK_H AC06
{ 0x024, 44 }, // VK_J AC07
{ 0x025, 45 }, // VK_K AC08
{ 0x026, 46 }, // VK_L AC09
{ 0x027, 47 }, // VK_OEM_1 AC10
{ 0x028, 48 }, // VK_OEM_7 AC11
{ 0x029, 49 }, // VK_OEM_3 TLDE
{ 0x02a, 50 }, // VK_LSHIFT LFSH
{ 0x02b, 51 }, // VK_OEM_5 BKSL
{ 0x02c, 52 }, // VK_Z AB01
{ 0x02d, 53 }, // VK_X AB02
{ 0x02e, 54 }, // VK_C AB03
{ 0x02f, 55 }, // VK_V AB04
{ 0x030, 56 }, // VK_B AB05
{ 0x031, 57 }, // VK_N AB06
{ 0x032, 58 }, // VK_M AB07
{ 0x033, 59 }, // VK_OEM_COMMA AB08
{ 0x034, 60 }, // VK_OEM_PERIOD AB09
{ 0x035, 61 }, // VK_OEM_2 AB10
{ 0x036, 62 }, // VK_RSHIFT RTSH
{ 0x037, 63 }, // VK_MULTIPLY KPMU
{ 0x038, 64 }, // VK_LMENU LALT
{ 0x039, 65 }, // VK_SPACE SPCE
{ 0x03a, 66 }, // VK_CAPITAL CAPS
{ 0x03b, 67 }, // VK_F1 FK01
{ 0x03c, 68 }, // VK_F2 FK02
{ 0x03d, 69 }, // VK_F3 FK03
{ 0x03e, 70 }, // VK_F4 FK04
{ 0x03f, 71 }, // VK_F5 FK05
{ 0x040, 72 }, // VK_F6 FK06
{ 0x041, 73 }, // VK_F7 FK07
{ 0x042, 74 }, // VK_F8 FK08
{ 0x043, 75 }, // VK_F9 FK09
{ 0x044, 76 }, // VK_F10 FK10
{ 0x045, 77 }, // VK_NUMLOCK NMLK
{ 0x046, 78 }, // VK_SCROLL SCLK
{ 0x047, 79 }, // VK_HOME KP7
{ 0x048, 80 }, // VK_UP KP8
{ 0x049, 81 }, // VK_PRIOR KP9
{ 0x04a, 82 }, // VK_SUBTRACT KPSU
{ 0x04b, 83 }, // VK_LEFT KP4
{ 0x04c, 84 }, // VK_CLEAR KP5
{ 0x04d, 85 }, // VK_RIGHT KP6
{ 0x04e, 86 }, // VK_ADD KPAD
{ 0x04f, 87 }, // VK_END KP1
{ 0x050, 88 }, // VK_DOWN KP2
{ 0x051, 89 }, // VK_NEXT KP3
{ 0x052, 90 }, // VK_INSERT KP0
{ 0x053, 91 }, // VK_DELETE KPDL
{ 0x056, 94 }, // VK_OEM_102 LSGT
{ 0x057, 95 }, // VK_F11 FK11
{ 0x058, 96 }, // VK_F12 FK12
{ 0x070, 101 }, // - HKTG
{ 0x073, 97 }, // VK_ABNT_C1 AB11
{ 0x079, 100 }, // - HENK
{ 0x07b, 102 }, // VK_OEM_PA1 MUHE
{ 0x07d, 132 }, // - AE13
{ 0x07e, 129 }, // VK_ABNT_C2 KPPT (Brazil ABNT2)
{ 0x110, 173 }, // VK_MEDIA_PREV_TRACK I173 (KEY_PREVIOUSSONG)
{ 0x119, 171 }, // VK_MEDIA_NEXT_TRACK I171 (KEY_NEXTSONG)
{ 0x11c, 104 }, // VK_RETURN KPEN
{ 0x11d, 105 }, // VK_RCONTROL RCTL
{ 0x120, 121 }, // VK_VOLUME_MUTE MUTE
{ 0x121, 148 }, // VK_LAUNCH_APP2 I148 (KEY_CALC)
{ 0x122, 172 }, // VK_PLAY_PAUSE I172 (KEY_PLAYPAUSE)
{ 0x124, 174 }, // VK_MEDIA_STOP I174 (KEY_STOPCD)
{ 0x12e, 122 }, // VK_VOLUME_DOWN VOL-
{ 0x130, 123 }, // VK_VOLUME_UP VOL+
{ 0x132, 180 }, // VK_BROWSER_HOME I180 (KEY_HOMEPAGE)
{ 0x135, 106 }, // VK_DIVIDE KPDV
{ 0x137, 107 }, // VK_SNAPSHOT PRSC
{ 0x138, 108 }, // VK_RMENU RALT
{ 0x147, 110 }, // VK_HOME HOME
{ 0x148, 111 }, // VK_UP UP
{ 0x149, 112 }, // VK_PRIOR PGUP (KEY_COMPUTER)
{ 0x14b, 113 }, // VK_LEFT LEFT
{ 0x14d, 114 }, // VK_RIGHT RGHT
{ 0x14f, 115 }, // VK_END END
{ 0x150, 116 }, // VK_DOWN DOWN
{ 0x151, 117 }, // VK_NEXT PGDN
{ 0x152, 118 }, // VK_INSERT INS
{ 0x153, 119 }, // VK_DELETE DELE
{ 0x15b, 133 }, // VK_LWIN LWIN
{ 0x15c, 134 }, // VK_RWIN RWIN
{ 0x15d, 135 }, // VK_APPS COMP
{ 0x165, 225 }, // VK_BROWSER_SEARCH I225 (KEY_SEARCH)
{ 0x166, 164 }, // VK_BROWSER_FAVORITES I164 (KEY_BOOKMARKS)
{ 0x16b, 165 }, // VK_LAUNCH_APP1 I165 (KEY_COMPUTER)
{ 0x16c, 163 }, // VK_LAUNCH_MAIL I163 (KEY_MAIL)
{ 0x21d, 127 } // VK_PAUSE PAUS (KEY_PAUSE)
};
// Sources:-
// file:/usr/share/X11/xkb/keycodes/xfree86
// https://wiki.osdev.org/PS/2_Keyboard
// https://www.kbdlayout.info/
static const struct scancode_to_keycode
base_scancode_to_keycode_map[] =
{
// Virtual XKB
// Key (US) Symbol
// -------- ------
{ 0x001, 9 }, // VK_ESCAPE ESC
{ 0x002, 10 }, // VK_1 AE01
{ 0x003, 11 }, // VK_2 AE02
{ 0x004, 12 }, // VK_3 AE03
{ 0x005, 13 }, // VK_4 AE04
{ 0x006, 14 }, // VK_5 AE05
{ 0x007, 15 }, // VK_6 AE06
{ 0x008, 16 }, // VK_7 AE07
{ 0x009, 17 }, // VK_8 AE08
{ 0x00a, 18 }, // VK_9 AE09
{ 0x00b, 19 }, // VK_0 AE10
{ 0x00c, 20 }, // VK_OEM_MINUS AE11
{ 0x00d, 21 }, // VK_OEM_PLUS AE12
{ 0x00e, 22 }, // VK_BACK BKSP
{ 0x00f, 23 }, // VK_TAB TAB
{ 0x010, 24 }, // VK_Q AD01
{ 0x011, 25 }, // VK_W AD02
{ 0x012, 26 }, // VK_E AD03
{ 0x013, 27 }, // VK_R AD04
{ 0x014, 28 }, // VK_T AD05
{ 0x015, 29 }, // VK_Y AD06
{ 0x016, 30 }, // VK_U AD07
{ 0x017, 31 }, // VK_I AD08
{ 0x018, 32 }, // VK_O AD09
{ 0x019, 33 }, // VK_P AD10
{ 0x01a, 34 }, // VK_OEM_4 AD11
{ 0x01b, 35 }, // VK_OEM_6 AD12
{ 0x01c, 36 }, // VK_RETURN RTRN
{ 0x01d, 37 }, // VK_LCONTROL LCTL
{ 0x01e, 38 }, // VK_A AC01
{ 0x01f, 39 }, // VK_S AC02
{ 0x020, 40 }, // VK_D AC03
{ 0x021, 41 }, // VK_F AC04
{ 0x022, 42 }, // VK_G AC05
{ 0x023, 43 }, // VK_H AC06
{ 0x024, 44 }, // VK_J AC07
{ 0x025, 45 }, // VK_K AC08
{ 0x026, 46 }, // VK_L AC09
{ 0x027, 47 }, // VK_OEM_1 AC10
{ 0x028, 48 }, // VK_OEM_7 AC11
{ 0x029, 49 }, // VK_OEM_3 TLDE
{ 0x02a, 50 }, // VK_LSHIFT LFSH
{ 0x02b, 51 }, // VK_OEM_5 BKSL
{ 0x02c, 52 }, // VK_Z AB01
{ 0x02d, 53 }, // VK_X AB02
{ 0x02e, 54 }, // VK_C AB03
{ 0x02f, 55 }, // VK_V AB04
{ 0x030, 56 }, // VK_B AB05
{ 0x031, 57 }, // VK_N AB06
{ 0x032, 58 }, // VK_M AB07
{ 0x033, 59 }, // VK_OEM_COMMA AB08
{ 0x034, 60 }, // VK_OEM_PERIOD AB09
{ 0x035, 61 }, // VK_OEM_2 AB10
{ 0x036, 62 }, // VK_RSHIFT RTSH
{ 0x037, 63 }, // VK_MULTIPLY KPMU
{ 0x038, 64 }, // VK_LMENU LALT
{ 0x039, 65 }, // VK_SPACE SPCE
{ 0x03a, 66 }, // VK_CAPITAL CAPS
{ 0x03b, 67 }, // VK_F1 FK01
{ 0x03c, 68 }, // VK_F2 FK02
{ 0x03d, 69 }, // VK_F3 FK03
{ 0x03e, 70 }, // VK_F4 FK04
{ 0x03f, 71 }, // VK_F5 FK05
{ 0x040, 72 }, // VK_F6 FK06
{ 0x041, 73 }, // VK_F7 FK07
{ 0x042, 74 }, // VK_F8 FK08
{ 0x043, 75 }, // VK_F9 FK09
{ 0x044, 76 }, // VK_F10 FK10
{ 0x045, 77 }, // VK_NUMLOCK NMLK
{ 0x046, 78 }, // VK_SCROLL SCLK
{ 0x047, 79 }, // VK_HOME KP7
{ 0x048, 80 }, // VK_UP KP8
{ 0x049, 81 }, // VK_PRIOR KP9
{ 0x04a, 82 }, // VK_SUBTRACT KPSU
{ 0x04b, 83 }, // VK_LEFT KP4
{ 0x04c, 84 }, // VK_CLEAR KP5
{ 0x04d, 85 }, // VK_RIGHT KP6
{ 0x04e, 86 }, // VK_ADD KPAD
{ 0x04f, 87 }, // VK_END KP1
{ 0x050, 88 }, // VK_DOWN KP2
{ 0x051, 89 }, // VK_NEXT KP3
{ 0x052, 90 }, // VK_INSERT KP0
{ 0x053, 91 }, // VK_DELETE KPDL
{ 0x056, 94 }, // VK_OEM_102 LSGT
{ 0x057, 95 }, // VK_F11 FK11
{ 0x058, 96 }, // VK_F12 FK12
{ 0x070, 208 }, // - HKTG
{ 0x073, 211 }, // VK_ABNT_C1 AB11
{ 0x079, 129 }, // - XFER
{ 0x07b, 131 }, // VK_OEM_PA1 NFER
{ 0x07d, 133 }, // - AE13
{ 0x07e, 134 }, // VK_ABNT_C2 KPPT (Brazil ABNT2)
{ 0x11c, 108 }, // VK_RETURN KPEN
{ 0x11d, 109 }, // VK_RCONTROL RCTL
{ 0x120, 141 }, // VK_VOLUME_MUTE MUTE
{ 0x12e, 142 }, // VK_VOLUME_DOWN VOL-
{ 0x130, 143 }, // VK_VOLUME_UP VOL+
{ 0x135, 112 }, // VK_DIVIDE KPDV
{ 0x137, 121 }, // VK_SNAPSHOT PRSC
{ 0x138, 113 }, // VK_RMENU RALT
{ 0x147, 97 }, // VK_HOME HOME
{ 0x148, 98 }, // VK_UP UP
{ 0x149, 99 }, // VK_PRIOR PGUP (KEY_COMPUTER)
{ 0x14b, 100 }, // VK_LEFT LEFT
{ 0x14d, 102 }, // VK_RIGHT RGHT
{ 0x14f, 103 }, // VK_END END
{ 0x150, 104 }, // VK_DOWN DOWN
{ 0x151, 105 }, // VK_NEXT PGDN
{ 0x152, 106 }, // VK_INSERT INS
{ 0x153, 107 }, // VK_DELETE DELE
{ 0x15b, 115 }, // VK_LWIN LWIN
{ 0x15c, 116 }, // VK_RWIN RWIN
{ 0x15d, 117 }, // VK_APPS COMP
{ 0x21d, 110 } // VK_PAUSE PAUS (KEY_PAUSE)
};
struct map_settings
{
const struct scancode_to_keycode *map;
const char *name;
unsigned int size;
};
enum settings_index
{
SI_EVDEV = 0,
SI_BASE
};
const struct map_settings global_settings[] =
{
{
// SI_EVDEV
.map = evdev_scancode_to_keycode_map,
.name = "evdev",
.size = ELEMENTS(evdev_scancode_to_keycode_map),
},
{
// SI_BASE
.map = base_scancode_to_keycode_map,
.name = "base",
.size = ELEMENTS(base_scancode_to_keycode_map)
}
};
// Default mapping set is "evdev"
const struct map_settings *settings = &global_settings[SI_EVDEV];
/*****************************************************************************/
int
scancode_to_index(unsigned short scancode)
{
if (scancode <= 0x7f)
{
return scancode;
}
if (scancode <= 0xff)
{
// 0x80 - 0xff : Invalid code
return -1;
}
if (scancode <= 0x177)
{
// 01x100 - 0x177 : Move bit 9 to bit 8
return (scancode & 0x7f) | 0x80;
}
if (scancode == SCANCODE_PAUSE_KEY)
{
return SCANCODE_INDEX_PAUSE_KEY;
}
// This leaves the following which are all rejected
// 0x178 - 0x17f (currently unused). These would map to indexes 0xf8
// to 0xff which we are reserving for extended1 keys.
// 0x180 - 0x1ff Illegal format
// >0x200 Anything not mentioned explicitly above (e.g.
// SCANCODE_PAUSE_KEY)
return -1;
}
/*****************************************************************************/
unsigned short
scancode_from_index(int index)
{
index &= 0xff;
unsigned short result;
if (index == SCANCODE_INDEX_PAUSE_KEY)
{
result = SCANCODE_PAUSE_KEY;
}
else if (index < 0x80)
{
result = index;
}
else
{
result = (index & 0x7f) | 0x100;
}
return result;
}
/*****************************************************************************/
unsigned short
scancode_to_x11_keycode(unsigned short scancode)
{
unsigned int min = 0;
unsigned int max = settings->size;
unsigned short rv = 0;
// Check scancode is in range of map
if (scancode >= settings->map[min].scancode &&
scancode <= settings->map[max - 1].scancode)
{
// Use a binary chop to locate the correct index
// in logarithmic time.
while (1)
{
unsigned int index = (min + max) / 2;
if (scancode == settings->map[index].scancode)
{
rv = settings->map[index].keycode;
break;
}
// Adjust min or max, checking for end
// of iteration
if (scancode < settings->map[index].scancode)
{
max = index;
}
else if (min == index)
{
// We've already checked this value
break;
}
else
{
min = index;
}
}
}
return rv;
}
/*****************************************************************************/
unsigned short
scancode_get_next(unsigned int *iter)
{
unsigned short rv = 0;
if (*iter < settings->size)
{
rv = settings->map[*iter].scancode;
++(*iter);
}
return rv;
}
/*****************************************************************************/
int
scancode_set_keycode_set(const char *kk_set)
{
int rv = 0;
if (kk_set == NULL)
{
rv = 1;
}
else if (strncmp(kk_set, "evdev", 5) == 0)
{
settings = &global_settings[SI_EVDEV];
}
else if (strncmp(kk_set, "base", 4) == 0)
{
settings = &global_settings[SI_BASE];
}
else if (strncmp(kk_set, "xfree86", 7) == 0)
{
settings = &global_settings[SI_BASE];
}
else
{
rv = 1;
}
return rv;
}
/*****************************************************************************/
const char *
scancode_get_keycode_set(void)
{
return settings->name;
}
/*****************************************************************************/
const char *
scancode_get_xkb_rules(void)
{
// Currently supported keycods map directly to the same name for
// the rules which use them.
return settings->name;
}

View File

@ -1,169 +0,0 @@
/**
* Copyright (C) 2024 Matt Burt, all xrdp contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file common/scancode.h
* @brief Scancode handling
*
* This module provides functionality for the following:-
* 1) Mapping from TS_KEYBOARD_EVENT PDU values to an 'RDP scancode'
* 2) Handling RDP scancodes
* 3) Convert between RDP scancodes and X11 keycodes.
*
* The values received in TS_KEYBOARD_EVENT PDUs are largely the same as
* Windows scancodes. These are indirectly documented in the Microsoft
* "Keyboard Scan Code Specification", Rev 1.3a (March 16th 2000) and
* are otherwise known as "Scan code set 1" scancodes. This document no
* longer appears to be available directly from the Microsoft website.
*
* A TS_KEYBOARD_EVENT_PDU contains two important values:-
* 1) key_code This is not unique. For example, left-shift and
* right-shift share a key_code of 0x2a
* 2) keyboard_flags Among other flags, contains KBDFLAGS_EXTENDED and
* KBDFLAGS_EXTENDED1. These combine with the key_code
* to allow a specific key to be determined.
*
* An 'RDP scancode' as defined by this module is a mapping of the
* Windows key_code and keyboard_flags into a single value which
* represents a unique key. For example:-
* Left control : key_code=0x1d, KBDFLAGS_EXTENDED=0 scancode = 0x1d
* Right control : key_code=0x1d, KBDFLAGS_EXTENDED=1 scancode = 0x11d
*
* This model of unique keys more closely maps what X11 does with its
* own keycodes.
*
* X11 keycodes are the X11 equivalent of RDP scancodes. In general, these
* are specific to an X server. In practice however, these are nowadays
* handled by the XKB extension and only two sets are in common use:-
* - evdev : Linux, FreeBSD and possibly others
* - base : Everything else.
*
* This module presents a single source of truth for conversions between
* RDP scancodes and X11 keycodes.
*/
#if !defined(SCANCODE_H)
#define SCANCODE_H
#include "xrdp_scancode_defs.h"
enum
{
/**
* Scancodes for keys used in the code are defined in the global
* file xrdp_scancode_defs.h
*/
/**
* Scancode indexes for some of the keys in xrdp_scancode_defs.h
*/
SCANCODE_INDEX_LSHIFT_KEY = SCANCODE_LSHIFT_KEY,
SCANCODE_INDEX_RSHIFT_KEY = SCANCODE_RSHIFT_KEY,
SCANCODE_INDEX_RALT_KEY = (SCANCODE_RALT_KEY & 0x7f) | 0x80,
SCANCODE_INDEX_PAUSE_KEY = 0xf8,
// 0xf9 - 0xff reserved for future extended1 mappings
/**
* Maximum value returned by scancode_to_index()
*/
SCANCODE_MAX_INDEX = 255
};
/**
* Convert a scancode to an index
* @param scancode scancode in the range 0x00 - 0x2ff
* @return index in the range 0..SCANCODE_MAX_INDEX (inclusive) or -1
*
* This function converts a 10-bit scancode into an 8-bit array index,
* independent of the currently loaded keymap
*
* This is possible as the scancodes from 0x80 - 0x2ff are sparsely allocated.
*
* For scancodes in the range 0x00 - 0x7f, the index is identical to the
* scancode. This includes scancodes for all the keys affected by
* numlock.
*/
int
scancode_to_index(unsigned short scancode);
/**
* Convert an index back to a scancode.
* @param index in the range 0..SCANCODE_MAX_INDEX
*
* @result scancode which is mapped to the index value
*
* The result is always a valid scancode, even if the index is
* not valid.
*/
unsigned short
scancode_from_index(int index);
/**
* Looks up an RDP scancode and converts to an x11 keycode
*
* @param scancode Scancode. Extended scancodes have bit 9 set
* (i.e. are in 0x100 - 0x1ff). Extended1 scancodes
* (currently just the pause key) are in the range 0x200-0x2ff
* @return keycode, or 0 for no keycode
*/
unsigned short
scancode_to_x11_keycode(unsigned short scancode);
/**
* Gets the next valid scancode from the list of valid scancodes
* @param iter Value (initialised to zero), used to iterate
* over available scancodes.
* @return Next valid scancode, or zero.
*
* The iterator is updated on a successful call. Use like this:-
*
* iter = 0;
* while ((scancode = scancode_get_next(&iter)) != 0)
* {
* . . .
* }
*/
unsigned short
scancode_get_next(unsigned int *iter);
/**
* Sets the keycode set used for the scancode translation
*
* @param kk_set "evdev", "base", or something more
* complex (e.g. "evdev+aliases(qwerty)")
* @result 0 for success
*/
int
scancode_set_keycode_set(const char *kk_set);
/**
* Gets the keycode set used for the scancode translation
*
* @result "evdev", or "base"
*/
const char *
scancode_get_keycode_set(void);
/**
* Gets the XKB rules set which can be used to access the currently
* loaded keycode set
*
* @result "evdev", or "base"
*/
const char *
scancode_get_xkb_rules(void);
#endif /* SCANCODE_H */

View File

@ -1104,12 +1104,15 @@ ssl_tls_accept(struct ssl_tls *self, long ssl_protocols,
return 1;
}
DH_free(dh); // ok to free, copied into ctx by SSL_CTX_set_tmp_dh()
#else
if (!SSL_CTX_set_dh_auto(self->ctx, 1))
{
LOG(LOG_LEVEL_ERROR, "TLS DHE auto failed to be enabled");
dump_ssl_error_stack(self);
return 1;
}
#endif
#if (OPENSSL_VERSION_NUMBER >= 0x10000020L) && \
OPENSSL_VERSION_NUMBER < (0x10100000L)
// SSL_CTX_set_ecdh_auto() added in OpenSSL 1.0.2 and
// removed for OpenSSL 1.1.0
#if defined(SSL_CTX_set_ecdh_auto)
if (!SSL_CTX_set_ecdh_auto(self->ctx, 1))
{
LOG(LOG_LEVEL_WARNING, "TLS ecdh auto failed to be enabled");
@ -1522,7 +1525,7 @@ ssl_get_protocols_from_string(const char *str, long *ssl_protocols)
/*****************************************************************************/
const char
*get_openssl_version(void)
*get_openssl_version()
{
#if OPENSSL_VERSION_NUMBER < 0x10100000L
return SSLeay_version(SSLEAY_VERSION);

View File

@ -108,7 +108,7 @@ ssl_get_cipher_name(const struct ssl_tls *ssl);
int
ssl_get_protocols_from_string(const char *str, long *ssl_protocols);
const char *
get_openssl_version(void);
get_openssl_version();
tintptr
ssl_get_rwo(const struct ssl_tls *ssl);

View File

@ -122,11 +122,8 @@ tc_mutex_delete(tbus mutex)
pthread_mutex_t *lmutex;
lmutex = (pthread_mutex_t *)mutex;
if (lmutex != NULL)
{
pthread_mutex_destroy(lmutex);
g_free(lmutex);
}
pthread_mutex_destroy(lmutex);
g_free(lmutex);
#endif
}

View File

@ -38,7 +38,7 @@
#define CONNECT_DELAY_ON_FAIL_MS 2000
/*****************************************************************************/
static int
int
trans_tls_recv(struct trans *self, char *ptr, int len)
{
if (self->tls == NULL)
@ -49,7 +49,7 @@ trans_tls_recv(struct trans *self, char *ptr, int len)
}
/*****************************************************************************/
static int
int
trans_tls_send(struct trans *self, const char *data, int len)
{
if (self->tls == NULL)
@ -60,7 +60,7 @@ trans_tls_send(struct trans *self, const char *data, int len)
}
/*****************************************************************************/
static int
int
trans_tls_can_recv(struct trans *self, int sck, int millis)
{
if (self->tls == NULL)
@ -71,21 +71,21 @@ trans_tls_can_recv(struct trans *self, int sck, int millis)
}
/*****************************************************************************/
static int
int
trans_tcp_recv(struct trans *self, char *ptr, int len)
{
return g_tcp_recv(self->sck, ptr, len, 0);
}
/*****************************************************************************/
static int
int
trans_tcp_send(struct trans *self, const char *data, int len)
{
return g_tcp_send(self->sck, data, len, 0);
}
/*****************************************************************************/
static int
int
trans_tcp_can_recv(struct trans *self, int sck, int millis)
{
return g_sck_can_recv(sck, millis);
@ -235,7 +235,7 @@ trans_get_wait_objs_rw(struct trans *self, tbus *robjs, int *rcount,
}
/*****************************************************************************/
static int
int
trans_send_waiting(struct trans *self, int block)
{
struct stream *temp_s;

View File

@ -84,15 +84,6 @@ enum xrdp_capture_code
CC_GFX_A2 = 5
};
/**
* Type describing Unicode input state
*/
enum unicode_input_state
{
UIS_UNSUPPORTED = 0, ///< Client does not support Unicode
UIS_SUPPORTED, ///< Client supports Unicode, but it's not active
UIS_ACTIVE ///< Unicode input is active
};
/**
* Information about the xrdp client
*
@ -200,11 +191,6 @@ struct xrdp_client_info
char layout[16];
char variant[16];
char options[256];
char xkb_rules[32];
// A few x11 keycodes are needed by the xup module
int x11_keycode_caps_lock;
int x11_keycode_num_lock;
int x11_keycode_scroll_lock;
/* ==================================================================== */
/* Private to xrdp below this line */
@ -253,7 +239,7 @@ struct xrdp_client_info
// Can we resize the desktop by using a Deactivation-Reactivation Sequence?
enum client_resize_mode client_resize_mode;
enum unicode_input_state unicode_input_support;
int pad1; /* unused; unicode_input_state */
enum xrdp_capture_code capture_code;
};
@ -274,6 +260,6 @@ enum xrdp_encoder_flags
/* yyyymmdd of last incompatible change to xrdp_client_info */
/* also used for changes to all the xrdp installed headers */
#define CLIENT_INFO_CURRENT_VERSION 20240805
#define CLIENT_INFO_CURRENT_VERSION 20240514
#endif

View File

@ -63,6 +63,9 @@
#define XRDP_MAX_BITMAP_CACHE_IDX 2000
#define XRDP_BITMAP_CACHE_ENTRIES 2048
#define XR_MIN_KEY_CODE 8
#define XR_MAX_KEY_CODE 256
/*
* Constants come from ITU-T Recommendations
*/
@ -285,6 +288,9 @@
#define FASTPATH_MAX_PACKET_SIZE 0x3fff
#define XR_RDP_SCAN_LSHIFT 42
#define XR_RDP_SCAN_ALT 56
// Since we're not guaranteed to have pixman, copy these directives.
#define XRDP_PIXMAN_TYPE_ARGB 2
#define XRDP_PIXMAN_TYPE_ABGR 3

View File

@ -1,88 +0,0 @@
/**
* Copyright (C) 2024 Matt Burt, all xrdp contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
* @file common/xrdp_scancode_defs.h
* @brief Scancode global definitions, shared with xorgxrdp
*/
#if !defined(XRDP_SCANCODE_DEFS_H)
#define XRDP_SCANCODE_DEFS_H
enum
{
/**
* Scancodes for keys received from the RDP client
*/
SCANCODE_LSHIFT_KEY = 0x2a,
SCANCODE_RSHIFT_KEY = 0x36,
SCANCODE_LCTRL_KEY = 0x1d,
SCANCODE_RCTRL_KEY = 0x11d,
SCANCODE_CAPS_KEY = 0x3a,
SCANCODE_NUMLOCK_KEY = 0x45,
SCANCODE_SCROLL_KEY = 0x46, // Scroll lock
SCANCODE_LALT_KEY = 0x38,
SCANCODE_RALT_KEY = 0x138,
SCANCODE_LWIN_KEY = 0x15b,
SCANCODE_RWIN_KEY = 0x15c,
SCANCODE_MENU_KEY = 0x15d,
SCANCODE_ESC_KEY = 0x01,
SCANCODE_BACKSPACE_KEY = 0x0e,
SCANCODE_ENTER_KEY = 0x1c,
SCANCODE_TAB_KEY = 0x0f,
SCANCODE_PAUSE_KEY = 0x21d,
SCANCODE_KP_ENTER_KEY = 0x11c,
SCANCODE_KP_DEL_KEY = 0x53,
SCANCODE_KP_1_KEY = 0x4f,
SCANCODE_KP_2_KEY = 0x50,
SCANCODE_KP_4_KEY = 0x4b,
SCANCODE_KP_6_KEY = 0x4d,
SCANCODE_KP_7_KEY = 0x47,
SCANCODE_KP_8_KEY = 0x48,
SCANCODE_LEFT_ARROW_KEY = 0x14b,
SCANCODE_RIGHT_ARROW_KEY = 0x14d,
SCANCODE_UP_ARROW_KEY = 0x148,
SCANCODE_DOWN_ARROW_KEY = 0x150,
SCANCODE_HOME_KEY = 0x147,
SCANCODE_DEL_KEY = 0x153,
SCANCODE_END_KEY = 0x14f,
/**
* Keys affected by numlock
* (this is not the whole keypad)
*/
SCANCODE_MIN_NUMLOCK = SCANCODE_KP_7_KEY,
SCANCODE_MAX_NUMLOCK = SCANCODE_KP_DEL_KEY
};
// Convert key_code and flags values received from a TS_KEYBOARD_EVENT
// into a value suitable for use by this module
#define SCANCODE_FROM_KBD_EVENT(key_code,keyboard_flags) \
(((key_code) & 0x7f) | ((keyboard_flags) & 0x300))
// Convert a scancode used by this module back into a
// TS_KEYBOARD_EVENT keyCode value
#define SCANCODE_TO_KBD_EVENT_KEY_CODE(scancode) ((scancode) & 0x7f)
// Convert a scancode used by this module back into a
// TS_KEYBOARD_EVENT keyboardFlags value
#define SCANCODE_TO_KBD_EVENT_KBD_FLAGS(scancode) ((scancode) & 0x300)
#endif /* XRDP_SCANCODE_DEFS_H */

View File

@ -1,14 +1,14 @@
# Process this file with autoconf to produce a configure script
AC_PREREQ([2.69])
AC_INIT([xrdp], [0.10.80], [xrdp-devel@googlegroups.com])
AC_INIT([xrdp], [0.10.1], [xrdp-devel@googlegroups.com])
AC_DEFINE([VERSION_YEAR], 2024, [Copyright year])
AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
AM_INIT_AUTOMAKE([1.7.2 foreign])
AC_CONFIG_MACRO_DIR([m4])
AC_USE_SYSTEM_EXTENSIONS
AC_PROG_CC
AC_PROG_CXX
AC_C_CONST
LT_INIT
PKG_PROG_PKG_CONFIG
@ -163,10 +163,6 @@ AC_ARG_ENABLE(mp3lame, AS_HELP_STRING([--enable-mp3lame],
[Build lame mp3(audio codec) (default: no)]),
[], [enable_mp3lame=no])
AM_CONDITIONAL(XRDP_MP3LAME, [test x$enable_mp3lame = xyes])
AC_ARG_ENABLE(ibus, AS_HELP_STRING([--enable-ibus],
[Allow unicode input via IBus) (default: no)]),
[], [enable_ibus=no])
AM_CONDITIONAL(XRDP_IBUS, [test x$enable_ibus = xyes])
AC_ARG_ENABLE(pixman, AS_HELP_STRING([--enable-pixman],
[Use pixman library (default: no)]),
[], [enable_pixman=no])
@ -190,11 +186,6 @@ AC_ARG_ENABLE(rdpsndaudin, AS_HELP_STRING([--enable-rdpsndaudin],
[], [enable_rdpsndaudin=no])
AM_CONDITIONAL(XRDP_RDPSNDAUDIN, [test x$enable_rdpsndaudin = xyes])
AC_ARG_ENABLE(utmp, AS_HELP_STRING([--enable-utmp],
[Update utmp (default: no)]),
[], [enable_utmp=no])
AM_CONDITIONAL(XRDP_UTMP, [test x$enable_utmp = xyes])
AC_ARG_WITH(imlib2, AS_HELP_STRING([--with-imlib2=ARG], [imlib2 library to use for non-BMP backgrounds (ARG=yes/no/<abs-path>)]),,)
AC_ARG_WITH(freetype2, AS_HELP_STRING([--with-freetype2=ARG], [freetype2 library to use for rendering fonts (ARG=yes/no/<abs-path>)]),,)
@ -212,7 +203,6 @@ AX_GCC_FUNC_ATTRIBUTE([format])
AX_TYPE_SOCKLEN_T
AX_CFLAGS_WARN_ALL
AX_APPEND_COMPILE_FLAGS([-Wwrite-strings])
AX_APPEND_COMPILE_FLAGS([-Wmissing-prototypes], ,[-Werror])
AM_COND_IF([LINUX],
[AX_APPEND_COMPILE_FLAGS([-Werror])]) # bsd has warnings that have not been fixed yet
@ -453,8 +443,8 @@ fi
# checking for fuse
if test "x$enable_fuse" = "xyes"
then
PKG_CHECK_MODULES([FUSE], [fuse3 >= 3.1.0], [],
[AC_MSG_ERROR([please install libfuse3-dev or fuse3-devel])])
PKG_CHECK_MODULES([FUSE], [fuse >= 2.6], [],
[AC_MSG_ERROR([please install libfuse-dev or fuse-devel])])
fi
# checking for fdk aac
@ -478,17 +468,6 @@ then
[AC_MSG_ERROR([please install libmp3lame-dev or lamemp3-devel])])
fi
# checking for ibus includes
if test "x$enable_ibus" = "xyes"
then
PKG_CHECK_MODULES([IBUS], [ibus-1.0 >= 1.5], [],
[AC_MSG_ERROR([please install libibus-1.0-dev or ibus-devel])])
# ibus uses dbus which depends on glib
PKG_CHECK_MODULES([GLIB2], [glib-2.0 >= 2.56], [],
[AC_MSG_ERROR([please install libglib2.0-dev or glib2.0-devel])])
fi
AS_IF( [test "x$enable_pixman" = "xyes"] , [PKG_CHECK_MODULES(PIXMAN, pixman-1 >= 0.1.0)] )
AS_IF( [test "x$enable_x264" = "xyes"] , [PKG_CHECK_MODULES(XRDP_X264, x264 >= 0.3.0)] )
@ -541,22 +520,6 @@ AC_CHECK_HEADER([X11/extensions/Xrandr.h], [],
[AC_MSG_ERROR([please install libxrandr-dev or libXrandr-devel])],
[#include <X11/Xlib.h>])
# checking for XKB
AC_CHECK_HEADER([X11/extensions/XKBrules.h], [],
[AC_MSG_ERROR([please install libxkbfile-dev or libxkbfile-devel])],
[#include <X11/Xlib.h>
#include <X11/XKBlib.h>
#include <stdio.h>])
if test "x$enable_utmp" = "xyes"
then
AC_CHECK_HEADERS(utmp.h utmpx.h)
# Test for non-standard extensions in struct utmpx
AXRDP_CHECK_UTMPX_MEMBER_EXISTS([ut_host], [HAVE_UTMPX_UT_HOST])
AXRDP_CHECK_UTMPX_MEMBER_EXISTS([ut_exit], [HAVE_UTMPX_UT_EXIT])
fi
CFLAGS="$save_CFLAGS"
# perform unit tests if libcheck and libmocka found
@ -645,7 +608,6 @@ AC_CONFIG_FILES([
tools/Makefile
tools/devel/Makefile
tools/devel/tcp_proxy/Makefile
tools/chkpriv/Makefile
vnc/Makefile
xrdpapi/Makefile
xrdp/Makefile
@ -674,15 +636,8 @@ echo " fuse $enable_fuse"
echo " ipv6 $enable_ipv6"
echo " ipv6only $enable_ipv6only"
echo " vsock $enable_vsock"
echo " ibus $enable_ibus"
echo " auth mechanism $auth_mech"
echo " rdpsndaudin $enable_rdpsndaudin"
echo " utmp support $enable_utmp"
if test x$enable_utmp = xyes; then
echo " utmpx.ut_host $ac_cv_utmpx_has_ut_host"
echo " utmpx.ut_exit $ac_cv_utmpx_has_ut_exit"
fi
echo
echo " with imlib2 $use_imlib2"
echo " with freetype2 $use_freetype2"

View File

@ -2,7 +2,6 @@ man_MANS = \
xrdp-dis.1 \
sesman.ini.5 \
xrdp.ini.5 \
xrdp-km.toml.5 \
xrdp.8 \
xrdp-chansrv.8 \
xrdp-genkeymap.8 \

View File

@ -315,8 +315,7 @@ transitions between confinement domains.
.TP
\fBSessionSockdirGroup\fR=\fIgroup\fR
Sets the group owner of the directories containing session sockets. This
MUST be the same as runtime_group in xrdp.ini, or xrdp will not
be able to connect to any sessions.
is normally the GID of the xrdp process so xrdp can connect to user sessions.
.SH "X11 SERVER"
Following parameters can be used in the \fB[Xvnc]\fR and
@ -354,12 +353,6 @@ the user).
drive. To fix this, consult the docs for your chosen desktop.
.RE
.TP
\fBFuseDirectIO\fR=\fI[false|true]\fR
Defaults to \fIfalse\fR. Set to \fItrue\fR to disable page caching in
FUSE when opening files on a redirected drive. Direct I/O can impact
the performance of file operations.
.TP
\fBFileUmask\fR=\fImode\fR
Additional umask to apply to files in the \fBFuseMountName\fR directory.

View File

@ -9,44 +9,48 @@
.SH "SYNTAX"
.B xrdp\-genkeymap
.I [ options ] file
.I file
.SH "DESCRIPTION"
\fBxrdp\-genkeymap\fR extracts the current key map from the X server
X session to generate a mapping from Remote Desktop Protocol (RDP)
scan codes to X keysyms and Unicode code points.
Before running this utility, make sure the keymap is correct, by issuing
the correct \fIsetxkbmap\fP command(s).
\fBxrdp\-genkeymap\fR extracts the key map used by the currently running X session to generated a mapping from Remote Desktop Protocol (RDP) key codes to X keysyms and Unicode code points.
.SH OPTIONS
.TP
.B -k 'keycode_set'
Inform \fBxrdp\-genkeymap\fR of the keycode set in operation (evdev or
base), so that the correct scan code to keycode mapping table is selected
to generate the keymap.
If you omit this option, the XKB extension is asked to provide the
name of the keycode set.
.TP
.B -c 'comment'
Adds a comment to the top of the generated file.
This option may be repeated more than once to add multiple comments to
the top of the file.
.TP
.B outfile
.I outfile
The key map information is stored in the file named \fIoutfile\fP.
.SH "FILES"
.TP
.I @sysconfdir@/xrdp/km-XXXXXXXX.toml
Files containing the keyboard mapping for country and language \fIXXXXXXXX\fP.
\fIXXXXXXXX\fP is a 8 digit hexadecimal number, representing the \fIinput
locale identifier\fP.
The input locale identifier is passed from the RDP client when it connects.
.I @sysconfdir@/xrdp/km-XXXXXXXX.ini
Files containing the keyboard mapping for language \fIXXXXXXXX\fP, which is a 8 digit hexadecimal number identifying the country and language code.
.RS 8
.TP
.B 00000405
cs Czech
.TP
.B 00000407
de German
.TP
.B 00000409
en-us US English
.TP
.B 0000040c
fr French
.TP
.B 00000410
it Italian
.TP
.B 00000416
br Portuguese (Brazil)
.TP
.B 00000419
ru Russian
.TP
.B 0000041d
se Swedish
.TP
.B 00000809
en-uk UK English
.RE
.SH "AUTHORS"
@ -56,15 +60,8 @@ Simone Fedele <ilsimo@users.sourceforge.net>
.SH "SEE ALSO"
.BR xrdp (8),
.BR xrdp-km.toml (5),
.BR setxkbmap (1),
.BR unicode (7)
.PP
Input locale identifiers on the
.UR https://go.microsoft.com/fwlink/?LinkId=202824
Microsoft website
.UE
.PP
Description of Keyboard Input mapping on the
.UR https://github.com/FreeRDP/FreeRDP/wiki/Keyboard

View File

@ -1,129 +0,0 @@
.\"
.TH "xrdp-km.toml" "5" "@PACKAGE_VERSION@" "xrdp team" ""
.SH "NAME"
\fBxrdp-km.toml\fR \- \fBxrdp\fP key mapping file
.SH "DESCRIPTION"
Key mapping files are located at \fB@sysconfdir@/xrdp/km-XXXXXXXX.toml\fP
where \fBXXXXXXXX\fP is the input locale identifier sent by the RDP client.
The key mapping files are used to translate RDP scan codes into one of
the following forms:-
.TP
.B X11 KeySyms
These are used when \fBxrdp\fP connects to a VNC server.
.TP
.B Unicode characters
These are used on the \fBxrdp\fP login screen.
.RE
.PP
Each keymap file consists of several sections. Each section starts with
the section name in square brackets, followed by a list of
\fIparameter\fR=\fIvalue\fR lines.
.SH "SECTIONS"
The following sections are recognized:
.TP
\fB[Globals]\fR
Global configuration
.TP
\fB[noshift]\fR
Key mappings if no modifier keys (i.e. shift, alt gr, caps lock) are down.
.TP
\fB[shift]\fR
Key mappings if the shift key is down.
.TP
\fB[altgr]\fR
Key mappings if the alt gr key is down.
.TP
\fB[shiftaltgr]\fR
Key mappings if the shift and alt gr keys are down.
.TP
\fB[capslock]\fR
Key mappings if the caps lock key is down.
.TP
\fB[shiftcapslock]\fR
Key mappings if the caps lock and shift keys are down.
.TP
\fB[shiftcapslockaltgr]\fR
Key mappings if the shift, caps lock and alt gr keys are down.
.TP
\fB[numlock]\fR
Key mappings if the numlock key is down.
.LP
All parameters and values are case
insensitive, and are described in detail below. If any parameter is
specified more than once, the last entry will be used. Options specified
outside their proper section will be \fIignored\fR.
.SH "GLOBALS Section"
Following parameters can be used in the \fB[Globals]\fR section.
.TP
\fBVersion\fR=\fInumber\fR
Version of the file format in use.
Can be used to check for file format mis-matches when a file is loaded.
.RE
.SH "Keymap Sections"
All other sections contain lines formatted in one of the following
ways:-
.TP
<scancode>=<KeySym>
.TP
<scancode>=<KeySymNum>:<unicode-char>
.RE
Each line may also be followed by a comment (preceded by '#') which
contains more information about the key, for example a KeySym string.
.TP
.B scancode
A \fBscancode\fP is an RDP scancode received from the client. These
correspond to Windows "Scan Code Set 1" scan codes, and can be displayed
in Windows by using an appropriate utility.
The \fBscancode\fP is in one of these two forms:-
.RS 8
.TP
.B <hex-digit><hex-digit>
Standard scancodes. For example, '1C' refers to the enter key.
These are 'key down' scancodes, and so are always between 00 and 7F.
.TP
.B E0_<hex-digit><hex-digit>
Extended scancodes. For example, 'E0_1C' refers to the enter key on the numeric keypad.
.RE
.TP
.B KeySymNum
A decimal number representing an X11 KeySym
.TP
.B unicode-char
A string of the format \fBU+XXXX\fP \fBU+XXXXX\fP,, \fBU+XXXXX\fP,
where \fBX\fP is a hexadecimal digit.
.RE
.SH "Limitations"
This file format has the following limitations.
.IP \(bu
Not all combinations of shift keys are stored in the file. For example,
at present there is no section for shift and numlock combined.
.IP \(bu
Modifier keys, other than the ones supported above, are not supported.
.SH "SEE ALSO"
.BR xrdp-genkeymap (8)
.PP
Scancode mappings for most keyboards at
.UR https://kbdlayout.info
.UE
For more info on \fBxrdp\fR see
.UR @xrdphomeurl@
.UE

View File

@ -119,29 +119,6 @@ The default port for RDP is \fB3389\fP.
Multiple address:port instances must be separated by spaces or commas. Check the .ini file for examples.
Specifying interfaces requires said interfaces to be UP before xrdp starts.
.TP
\fBruntime_user\fP=\fIusername\fP
.TP
\fBruntime_group\fP=\fIgroupname\fP
User name and group to run the xrdp daemon under.
After xrdp starts, it sets its UID and GID to values derived from these
settings, so that it's running without system privilege.
The \fBruntime_group\fP MUST be set to the same value as
\fBSessionSockdirGroup\fP in \fBsesman.ini\fP if you want to run sessions.
A suitable user and group can be added with a command like this (Linux):-
useradd xrdp -d / -c 'xrdp daemon' -s /usr/sbin/nologin
In order to establish secure connections, the xrdp daemon needs permission
to access sensitive cryptographic files. After changing either or both
of these values, check that xrdp has access to required files by running
this script:-
@xrdpdatadir@/xrdp-chkpriv
.TP
\fBenable_token_login\fP=\fI[true|false]\fP
If set to \fB1\fP, \fBtrue\fP or \fByes\fP, \fBxrdp\fP will scan the user name provided by the
@ -381,22 +358,14 @@ Specifies the session type. The default, \fI0\fR, is Xvnc,
and \fI20\fR is Xorg with xorgxrdp modules.
.TP
\fBchansrvport\fR=\fBDISPLAY(\fR\fIn\fR\fB)\fR|\fBDISPLAY(\fR\fIn,u\fR\fB)\fR||\fI/path/to/domain-socket\fR
\fBchansrvport\fR=\fBDISPLAY(\fR\fIn\fR\fB)\fR|\fI/path/to/domain-socket\fR
Asks xrdp to connect to a manually started \fBxrdp-chansrv\fR instance.
This can be useful if you wish to use to use xrdp to connect to a VNC session
which has been started other than by \fBxrdp-sesman\fR, as you can then make
use of \fBxrdp\-chansrv\fR facilities in the VNC session.
Either the first or second form of this setting is recommended. Replace
\fIn\fR with the X11 display number of the session, and (if applicable)
\fIu\fR with the numeric ID of the session. The second form is only
required if \fBxrdp\fR is unable to determine the session uid from the
other values in the connection block.
.TP
\fBkeycode_set\fR=\fI<string>\fR
[Xorg only] Asks for the specified keycode set to be used by the X server.
Normally "evdev" or "base". The default should be correct for your system.
The first form of this setting is recommended, replacing \fIn\fR with the
X11 display number of the session.
.SH "EXAMPLES"
This is an example \fBxrdp.ini\fR:

View File

@ -231,7 +231,7 @@ fv1_file_free(struct fv1_file *fv1)
}
/*****************************************************************************/
static int
int
write_stream(int fd, struct stream *s)
{
const char *p = s->data;

View File

@ -2,19 +2,15 @@ EXTRA_DIST = \
dump-keymaps.sh \
readme.txt
AM_CPPFLAGS = \
-I$(top_srcdir)/common
AM_CFLAGS = $(X_CFLAGS)
bin_PROGRAMS = \
xrdp-genkeymap
xrdp_genkeymap_SOURCES = genkeymap.c
xrdp_genkeymap_SOURCES = genkeymap.c evdev-map.c
xrdp_genkeymap_LDFLAGS = \
$(X_LIBS)
xrdp_genkeymap_LDADD = \
$(top_builddir)/common/libcommon.la \
$(X_PRE_LIBS) -lxkbfile -lX11 $(X_EXTRA_LIBS)
$(X_PRE_LIBS) -lX11 $(X_EXTRA_LIBS)

View File

@ -1,99 +1,56 @@
#!/bin/sh
# Use evdev rules to obtain the mappings
XKB_RULES=evdev
# -----------------------------------------------------------------------------
# K B G E N
#
# Generates a keyboard mapping
# $1 - LCID (See [MS-LCID])
# $2 - Language tag (See [MS-LCID])
# $3 - Current operating system
# $4.. Arguments to setxkbmap to select the required keyboard
# -----------------------------------------------------------------------------
kbgen()
{
file=$(printf "../instfiles/km-%08s.toml" "$1" | tr ' ' '0')
desc="$2"
os="$3"
shift 3
setxkbmap "$@"
./xrdp-genkeymap \
-c "Description: $desc" \
-c "Operating system: $os" \
"$file"
}
# -----------------------------------------------------------------------------
# M A I N
# -----------------------------------------------------------------------------
# Run the keymap extraction in a clean X session
if [ "$1" != _IN_XVFB_SESSION_ ]; then
# All commands available?
ok=1
for cmd in setxkbmap xvfb-run xauth; do
if ! command -v $cmd >/dev/null
then
echo "Error. $cmd not found" >&2
ok=
fi
done
if [ -z "$ok" ]; then
exit 1
fi
xvfb-run --auto-servernum --server-args="-noreset" "$0" _IN_XVFB_SESSION_
exit $?
if ! command -v setxkbmap >/dev/null
then
echo "error, setxkbmap not found"
exit 1
fi
# English - US 'en-us' 0x00000409
setxkbmap -model pc104 -layout us
./xrdp-genkeymap ../instfiles/km-00000409.ini
# English - US 'dvorak' 0x00010409
setxkbmap -model pc104 -layout dvorak
./xrdp-genkeymap ../instfiles/km-00010409.ini
# English - US 'dvp' 0x19360409
OLD_SETTINGS=$(setxkbmap -query -verbose 4 | sed "s/^\([a-z]\+\):\s*\(.*\)$/-\1 \2/;s/^-options/-option \"\" -option/;s/,/ -option /g" | xargs -d \\n)
setxkbmap -rules "$XKB_RULES"
# Assign NumLock to mod2
xmodmap -e "clear mod2" -e "add mod2 = Num_Lock"
# Find the operating system
if command -v hostnamectl >/dev/null; then
os=$(hostnamectl status | sed -ne 's/^i *Operating[^:]*: *//p')
fi
if [ -z "$os" ] && command -v lsb_release -v >/dev/null; then
os=$(lsb_release --description --short)
fi
if [ -z "$os" ]; then
os="Unknown"
fi
kbgen 0406 "da-DK" "$os" -model pc105 -layout dk
kbgen 0407 "de-DE" "$os" -model pc104 -layout de
kbgen 0409 "en-US" "$os" -model pc104 -layout us
kbgen 10409 "en-US" "$os" -model pc104 -layout dvorak
kbgen 040a "es-ES_tradnl" "$os" -model pc105 -layout es
kbgen 040b "fi-FI" "$os" -model pc105 -layout 'fi'
kbgen 040c "fr-FR" "$os" -model pc105 -layout fr
kbgen 0410 "it-IT" "$os" -model pc104 -layout it
kbgen 0411 "ja-JP" "$os" -model pc105 -layout jp -variant OADG109A
kbgen 0412 "ko-KR" "$os" -model pc105 -layout kr
kbgen 0414 "nb-NO" "$os" -model pc105 -layout no
kbgen 0415 "pl-PL" "$os" -model pc104 -layout pl
kbgen 0416 "pt-BR" "$os" -model pc105 -layout br
kbgen 0419 "ru-RU" "$os" -model pc104 -layout ru
kbgen 041d "sv-SE" "$os" -model pc104 -layout se
kbgen 0807 "de-CH" "$os" -model pc105 -layout ch
kbgen 0809 "en-GB" "$os" -model pc105 -layout gb
kbgen 080a "es-MX" "$os" -model pc105 -layout latam
kbgen 080c "fr-BE" "$os" -model pc105 -layout be -variant oss
kbgen 0813 "nl-BE" "$os" -model pc105 -layout be
kbgen 0816 "pt-PT" "$os" -model pc104 -layout pt
kbgen 100c "fr-CH" "$os" -model pc105 -layout ch -variant fr
# Put keyboards which change options below the ones that don't to
# prevent unexpected things happening to keypads, etc
kbgen 19360409 "en-US" "$os" -model pc105 -layout us -variant dvp \
-option "" -option compose:102 -option caps:shift -option numpad:sg \
-option numpad:shift3 -option keypad:hex -option keypad:atm \
-option kpdl:semi -option lv3:ralt_alt
# set back to entry settings
# shellcheck disable=SC2086
setxkbmap -rules xfree86 -model pc105 -layout us -variant dvp -option "" -option compose:102 -option caps:shift -option numpad:sg -option numpad:shift3 -option keypad:hex -option keypad:atm -option kpdl:semi -option lv3:ralt_alt
./xrdp-genkeymap ../instfiles/km-19360409.ini
setxkbmap ${OLD_SETTINGS}
# English - UK 'en-GB' 0x00000809
setxkbmap -model pc105 -layout gb
./xrdp-genkeymap ../instfiles/km-00000809.ini
# German 'de' 0x00000407
setxkbmap -model pc104 -layout de
./xrdp-genkeymap ../instfiles/km-00000407.ini
# Italian 'it' 0x00000410
setxkbmap -model pc104 -layout it
./xrdp-genkeymap ../instfiles/km-00000410.ini
# Japanese 'jp' 0x00000411
setxkbmap -model pc105 -layout jp -variant OADG109A
./xrdp-genkeymap ../instfiles/km-00000411.ini
# Polish 'pl' 0x00000415
setxkbmap -model pc104 -layout pl
./xrdp-genkeymap ../instfiles/km-00000415.ini
# Russia 'ru' 0x00000419
setxkbmap -model pc104 -layout ru
./xrdp-genkeymap ../instfiles/km-00000419.ini
# Sweden 'se' 0x0000041d
setxkbmap -model pc104 -layout se
./xrdp-genkeymap ../instfiles/km-0000041d.ini
# Portuguese -PT 'pt-pt' 0x00000816
setxkbmap -model pc104 -layout pt
./xrdp-genkeymap ../instfiles/km-00000816.ini
# set back to en-us
setxkbmap -model pc104 -layout us

161
genkeymap/evdev-map.c Normal file
View File

@ -0,0 +1,161 @@
/* -*- Mode: C; indent-tabs-mode: t; c-basic-offset: 4; tab-width: 4 -*- */
/*
* evdev-map.c
* Copyright (C) Michał Górny 2014 <mgorny@gentoo.org>
*
* You may redistribute it and/or modify it under the terms of the
* GNU General Public License, as published by the Free Software
* Foundation; either version 2 of the License, or (at your option)
* any later version.
*
* main.cc is distributed in the hope that it will be useful,
* but WITHOUT ANY WARRANTY; without even the implied warranty of
* MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.
* See the GNU General Public License for more details.
*
* You should have received a copy of the GNU General Public License
* along with main.cc. If not, write to:
* The Free Software Foundation, Inc.,
* 51 Franklin Street, Fifth Floor
* Boston, MA 02110-1301, USA
*
* xfree86(base)->evdev keycode mapping
*/
#if defined(HAVE_CONFIG_H)
#include <config_ac.h>
#endif
int xfree86_to_evdev[137 - 8 + 1] =
{
/* MDSW */ 203,
/* ESC */ 9,
/* AE01 */ 10,
/* AE02 */ 11,
/* AE03 */ 12,
/* AE04 */ 13,
/* AE05 */ 14,
/* AE06 */ 15,
/* AE07 */ 16,
/* AE08 */ 17,
/* AE09 */ 18,
/* AE10 */ 19,
/* AE11 */ 20,
/* AE12 */ 21,
/* BKSP */ 22,
/* TAB */ 23,
/* AD01 */ 24,
/* AD02 */ 25,
/* AD03 */ 26,
/* AD04 */ 27,
/* AD05 */ 28,
/* AD06 */ 29,
/* AD07 */ 30,
/* AD08 */ 31,
/* AD09 */ 32,
/* AD10 */ 33,
/* AD11 */ 34,
/* AD12 */ 35,
/* RTRN */ 36,
/* LCTL */ 37,
/* AC01 */ 38,
/* AC02 */ 39,
/* AC03 */ 40,
/* AC04 */ 41,
/* AC05 */ 42,
/* AC06 */ 43,
/* AC07 */ 44,
/* AC08 */ 45,
/* AC09 */ 46,
/* AC10 */ 47,
/* AC11 */ 48,
/* TLDE */ 49,
/* LFSH */ 50,
/* BKSL */ 51,
/* AB01 */ 52,
/* AB02 */ 53,
/* AB03 */ 54,
/* AB04 */ 55,
/* AB05 */ 56,
/* AB06 */ 57,
/* AB07 */ 58,
/* AB08 */ 59,
/* AB09 */ 60,
/* AB10 */ 61,
/* RTSH */ 62,
/* KPMU */ 63,
/* LALT */ 64,
/* SPCE */ 65,
/* CAPS */ 66,
/* FK01 */ 67,
/* FK02 */ 68,
/* FK03 */ 69,
/* FK04 */ 70,
/* FK05 */ 71,
/* FK06 */ 72,
/* FK07 */ 73,
/* FK08 */ 74,
/* FK09 */ 75,
/* FK10 */ 76,
/* NMLK */ 77,
/* SCLK */ 78,
/* KP7 */ 79,
/* KP8 */ 80,
/* KP9 */ 81,
/* KPSU */ 82,
/* KP4 */ 83,
/* KP5 */ 84,
/* KP6 */ 85,
/* KPAD */ 86,
/* KP1 */ 87,
/* KP2 */ 88,
/* KP3 */ 89,
/* KP0 */ 90,
/* KPDL */ 91,
/* SYRQ */ 107,
/* II5D */ 0,
/* LSGT */ 94,
/* FK11 */ 95,
/* FK12 */ 96,
/* HOME */ 110,
/* UP */ 111,
/* PGUP */ 112,
/* LEFT */ 113,
/* II65 */ 0,
/* RGHT */ 114,
/* END */ 115,
/* DOWN */ 116,
/* PGDN */ 117,
/* INS */ 118,
/* DELE */ 119,
/* KPEN */ 104,
/* RCTL */ 105,
/* PAUS */ 127,
/* PRSC */ 107,
/* KPDV */ 106,
/* RALT */ 108,
/* BRK */ 419,
/* LWIN */ 133,
/* RWIN */ 134,
/* MENU */ 0,
/* FK13 */ 191,
/* FK14 */ 192,
/* FK15 */ 193,
/* FK16 */ 194,
/* FK17 */ 195,
/* KPDC */ 0,
/* LVL3 */ 92,
/* ALT */ 204,
/* KPEQ */ 125,
/* SUPR */ 206,
/* HYPR */ 207,
/* XFER */ 0,
/* I02 */ 0,
/* NFER */ 0,
/* I04 */ 0,
/* AE13 */ 132,
/* I06 */ 0,
/* I07 */ 0,
0,
0
};

View File

@ -42,411 +42,131 @@
#include <X11/Xlib.h>
#include <X11/Xutil.h>
#include <X11/XKBlib.h>
#include <X11/extensions/XKBrules.h>
#include <locale.h>
#include <unistd.h>
#include "scancode.h"
#include "xrdp_constants.h"
extern int xfree86_to_evdev[137 - 8 + 1];
// cppcheck doesn't always set this macro to something in double-quotes
#if defined(__cppcheck__)
#undef PACKAGE_VERSION
#endif
#if !defined(PACKAGE_VERSION)
#define PACKAGE_VERSION "???"
#endif
#define NUM_STATES 9
#define KEYMAP_FILE_FORMAT_VERSION "2"
// Scancodes affected by numlock
#define IS_KEYPAD_SCANCODE(s) \
((s) >= SCANCODE_MIN_NUMLOCK && (s) <= SCANCODE_MAX_NUMLOCK)
#define MAX_COMMENTS 10
/**
* Contains info about the current keyboard setting
*/
struct kbd_info
{
char *keycode_set; ///< See 'setxkbmap -v'
char *rules; ///< See 'setxkbmap -query'
char *model; ///< See 'setxkbmap -query'
char *layout; ///< See 'setxkbmap -query'
char *variant; ///< See 'setxkbmap -query'
char *options; ///< See 'setxkbmap -query' (comma separated)
};
/*****************************************************************************/
/**
* Print brief info about program usage and exit
* @param programname Unqualified name of program
* @param status Exit status
*/
static void
usage(const char *programname, int status)
{
fprintf(stderr, "Usage: %s [ -k keycode_set] [-c comment] [-c comment...]"
" out_filename\n", programname);
fprintf(stderr, "Example: %s -r evdev -c \"en-US pc104 keyboard\""
" /etc/xrdp/km-00000409.toml\n", programname);
exit(status);
}
/*****************************************************************************/
/**
* Free a kbd_info struct
* @param kbd_info struct to free. May be incomplete or NULL
*/
static void
free_kbd_info(struct kbd_info *kbd_info)
{
if (kbd_info != NULL)
{
free(kbd_info->keycode_set);
free(kbd_info->rules);
free(kbd_info->model);
free(kbd_info->layout);
free(kbd_info->variant);
free(kbd_info->options);
free(kbd_info);
}
}
/*****************************************************************************/
/**
* Queries the X server to get information about the current keyboard
* @param dpy X11 Display
* @param programname Unqualified name of program
* @return kbd_info struct, or NULL
*
* The structure may be incomplete if some data could not be obtained
*/
static struct kbd_info *
get_kbd_info(Display *dpy, const char *programname)
{
struct kbd_info *kbd_info;
char *rules;
XkbRF_VarDefsRec vd;
XkbDescPtr kbdesc = NULL;
if ((kbd_info = (struct kbd_info *)malloc( sizeof(*kbd_info))) == NULL)
{
fprintf(stderr, "%s: Out of memory\n", programname);
}
else if ((kbdesc = XkbAllocKeyboard()) == NULL)
{
fprintf(stderr, "%s: unable to allocate keyboard desc\n",
programname);
free_kbd_info(kbd_info);
kbd_info = NULL;
}
else if (XkbGetNames(dpy, XkbKeycodesNameMask, kbdesc) != Success)
{
fprintf(stderr, "%s: unable to obtain keycode name for keyboard\n",
programname);
free_kbd_info(kbd_info);
kbd_info = NULL;
}
else
{
char *symatom = XGetAtomName(dpy, kbdesc->names->keycodes);
kbd_info->keycode_set = strdup(symatom);
XFree(symatom);
if (XkbRF_GetNamesProp(dpy, &rules, &vd) == 0 || rules == NULL)
{
fprintf(stderr, "%s: Couldn't interpret %s property\n",
programname, _XKB_RF_NAMES_PROP_ATOM);
kbd_info->rules = NULL;
kbd_info->model = NULL;
kbd_info->layout = NULL;
kbd_info->variant = NULL;
kbd_info->options = NULL;
}
else
{
kbd_info->rules = rules;
kbd_info->model = vd.model;
kbd_info->layout = vd.layout;
kbd_info->variant = vd.variant;
kbd_info->options = vd.options;
}
}
if (kbdesc != NULL)
{
XkbFreeKeyboard(kbdesc, 0, True);
}
return kbd_info;
}
/*****************************************************************************/
/**
* Outputs a comment containing the last setxkbmap command
*
* @param outf Output file
* @param kbd_info Keyboard info struct
*
*/
static void
output_setxkbmap_comment(FILE *outf, const struct kbd_info *kbd_info)
{
if (kbd_info->model != NULL || kbd_info->layout != NULL ||
kbd_info->variant != NULL || kbd_info->options != NULL)
{
fprintf(outf, "# setxkbmap -rules %s", kbd_info->rules);
if (kbd_info->model != NULL)
{
fprintf(outf, " -model %s", kbd_info->model);
}
if (kbd_info->layout != NULL)
{
fprintf(outf, " -layout %s", kbd_info->layout);
}
if (kbd_info->variant != NULL)
{
fprintf(outf, " -variant %s", kbd_info->variant);
}
if (kbd_info->options != NULL)
{
// Options is comma-separated, but to achieve the same effect
// with the command we need to use multiple '-option' args
char *optionstr = strdup(kbd_info->options);
if (optionstr != NULL)
{
char *p = strtok(optionstr, ",");
fprintf(outf, " -option \"\"");
while (p != NULL)
{
fprintf(outf, " -option %s", p);
p = strtok(NULL, ",");
}
free(optionstr);
}
}
putc('\n', outf);
}
}
/*****************************************************************************/
/**
* Output a section of the keymap file
* @param outf Output file
* @param dpy X display
* @param section name Section name (e.g. 'shift')
* @param event_state Modifier state needed for XKeyPressedEvent
*/
static void
output_file_section(FILE *outf,
Display *dpy,
const char *section_name,
unsigned int event_state)
{
XKeyPressedEvent e =
{
.type = KeyPress,
.serial = 16,
.send_event = True,
.display = dpy,
.state = event_state,
.same_screen = True
};
int char_count;
int nbytes = 0;
int unicode;
KeySym ks;
const char *ksstr;
unsigned short scancode;
unsigned int iter = 0;
char text[256];
wchar_t wtext[256];
int is_numlock_section = (strcmp(section_name, "numlock") == 0);
fprintf(outf, "\n[%s]\n", section_name);
while ((scancode = scancode_get_next(&iter)) != 0)
{
// Numlock state table can be very small
if (is_numlock_section && !IS_KEYPAD_SCANCODE(scancode))
{
continue;
}
e.keycode = scancode_to_x11_keycode(scancode);
nbytes = XLookupString(&e, text, 255, &ks, NULL);
if (ks == NoSymbol)
{
continue;
}
ksstr = XKeysymToString(ks);
if (ksstr == NULL)
{
continue;
}
text[nbytes] = 0;
char_count = mbstowcs(wtext, text, 255);
unicode = 0;
if (char_count == 1)
{
unicode = wtext[0];
}
if (scancode > 0x1ff)
{
fputs("E1_", outf);
}
else if (scancode > 0xff)
{
fputs("E0_", outf);
}
fprintf(outf, "%02X=\"%d", (scancode & 0xff), (int)ks);
if (unicode != 0)
{
fprintf(outf, ":U+%04X", unicode);
}
fprintf(outf, "\" # %s\n", ksstr);
}
}
/*****************************************************************************/
/**
* Main
* @param argc Argument count
* @param argv Pointers to arguments
* @return 0 for success
*/
int main(int argc, char **argv)
{
const char *programname;
int opt;
char text[256];
char *displayname = NULL;
char *outfname;
const char *sections[NUM_STATES] =
const char *sections[8] =
{
"noshift", "shift", "altgr", "shiftaltgr",
"capslock", "capslockaltgr", "shiftcapslock", "shiftcapslockaltgr",
"numlock"
"capslock", "capslockaltgr", "shiftcapslock", "shiftcapslockaltgr"
};
int states[NUM_STATES] = {0, 1, 0x80, 0x81, 2, 0x82, 3, 0x83, 0x10};
int states[8] = {0, 1, 0x80, 0x81, 2, 0x82, 3, 0x83};
int i;
int idx;
Display *dpy = NULL;
FILE *outf = NULL;
const char *comment[MAX_COMMENTS] = {0};
int comment_count = 0;
const char *keycode_set = NULL;
struct kbd_info *kbd_info = NULL;
int status = 1;
int char_count;
int nbytes = 0;
int unicode;
Display *dpy;
KeySym ks;
FILE *outf;
XKeyPressedEvent e;
wchar_t wtext[256];
XkbDescPtr kbdesc;
char *symatom;
int is_evdev;
setlocale(LC_CTYPE, "");
if (strrchr(argv[0], '/') != NULL)
programname = argv[0];
if (argc != 2)
{
programname = strrchr(argv[0], '/') + 1;
}
else
{
programname = argv[0];
fprintf(stderr, "Usage: %s out_filename\n", programname);
fprintf(stderr, "Example: %s /etc/xrdp/km-00000409.ini\n", programname);
return 1;
}
while ((opt = getopt(argc, argv, "c:k:")) != -1)
{
switch (opt)
{
case 'c':
if (comment_count < MAX_COMMENTS)
{
comment[comment_count++] = optarg;
}
break;
case 'k':
keycode_set = optarg;
break;
default: /* '?' */
usage(programname, 1);
}
}
if ((optind + 1) != argc)
{
usage(programname, 1);
}
outfname = argv[optind];
outfname = argv[1];
dpy = XOpenDisplay(displayname);
if (!dpy)
{
fprintf(stderr, "%s: unable to open display '%s'\n",
programname, XDisplayName(displayname));
goto finish;
return 1;
}
if ((kbd_info = get_kbd_info(dpy, programname)) == 0)
{
// An error has already been logged
goto finish;
}
// If the keycode set isn't specified, use the one returned
// by the XKB extension
if (keycode_set == NULL)
{
keycode_set = kbd_info->keycode_set;
}
if (scancode_set_keycode_set(keycode_set) != 0)
{
fprintf(stderr, "%s: keycode set '%s' is not recognised\n",
programname, keycode_set);
goto finish;
}
if ((outf = fopen(outfname, "w")) == NULL)
{
fprintf(stderr, "%s: unable to create file '%s'\n",
programname, outfname);
goto finish;
}
fprintf(outf, "# Created by %s V" PACKAGE_VERSION
"\n# Key code set: %s\n",
programname, keycode_set);
output_setxkbmap_comment(outf, kbd_info);
for (idx = 0; idx < comment_count; ++idx)
{
fprintf(outf, "# %s\n", comment[idx]);
}
fprintf(outf, "\n[General]\nversion=" KEYMAP_FILE_FORMAT_VERSION "\n");
for (idx = 0; idx < NUM_STATES; idx++) /* Sections and states */
{
output_file_section(outf, dpy, sections[idx], states[idx]);
}
status = 0; // Successful run
finish:
free_kbd_info(kbd_info);
if (dpy != NULL)
/* check whether evdev is used */
kbdesc = XkbAllocKeyboard();
if (!kbdesc)
{
fprintf(stderr, "%s: unable to allocate keyboard desc\n",
programname);
XCloseDisplay(dpy);
return 1;
}
if (outf != NULL)
if (XkbGetNames(dpy, XkbKeycodesNameMask, kbdesc) != Success)
{
fclose(outf);
fprintf(stderr, "%s: unable to obtain keycode name for keyboard\n",
programname);
XkbFreeKeyboard(kbdesc, 0, True);
XCloseDisplay(dpy);
return 1;
}
return status;
symatom = XGetAtomName(dpy, kbdesc->names->keycodes);
is_evdev = !strncmp(symatom, "evdev", 5);
XFree(symatom);
XkbFreeKeyboard(kbdesc, 0, True);
outf = fopen(outfname, "w");
if (outf == NULL)
{
fprintf(stderr, "%s: unable to create file '%s'\n", programname, outfname);
XCloseDisplay(dpy);
return 1;
}
memset(&e, 0, sizeof(e));
e.type = KeyPress;
e.serial = 16;
e.send_event = True;
e.display = dpy;
e.same_screen = True;
for (idx = 0; idx < 8; idx++) /* Sections and states */
{
fprintf(outf, "[%s]\n", sections[idx]);
e.state = states[idx];
for (i = 8; i < 137; i++) /* Keycodes */
{
if (is_evdev)
{
e.keycode = xfree86_to_evdev[i - 8];
}
else
{
e.keycode = i;
}
nbytes = XLookupString(&e, text, 255, &ks, NULL);
text[nbytes] = 0;
char_count = mbstowcs(wtext, text, 255);
unicode = 0;
if (char_count == 1)
{
unicode = wtext[0];
}
fprintf(outf, "Key%d=%d:%d\n", i, (int) ks, unicode);
}
if (idx != 7)
{
fprintf(outf, "\n");
}
}
XCloseDisplay(dpy);
fclose(outf);
return 0;
}

View File

@ -1,49 +1,43 @@
Keymap file description
-----------------------
The keymap files are used by the xrdp login screen, and also when
sending keyboard input to a VNC server.
Creating a new keymap file.
---------------------------
The names of the files are of the format;
km-xxxxxxxx.toml
km-xxxxxxxx.ini
where the xxxxxxxx is replaced by the hex number of the layout of interest.
The contents of the files are documented in xrdp-km.toml(5)
The files have 8 sections;
See also xrdp-genkeymap(8) which describes the utility used to
generate these files.
[noshift], [shift], [altgr], [shiftaltgr], [capslock], [capslockaltgr],
[shiftcapslock], [shiftcapslockaltgr]
Creating a new file
-------------------
In each section there are multiple lines for each key.
To create a new file:-
1) Start an X server
2) Use the 'setxkbmap' command to get the keyboard configured
for the X server.
3) Run the 'xrdp-genkeymap' command to extract the keyboard
mappings
An example line looks like;
Example: ./xrdp-genkeymap ./km-00000409.toml
Key10=49:49
4) Copy the generated file to /etc/xrdp/
In this line, 10 is the X11 scancode, the first 49 is the keysym value,
the second 49 if the unicode value of the key. This is the definition
for the 'noshift' '1' key on a en-us keyboard. In this case, the keysym
and the unicode value are the same.
Using the X server of your current session may not be a good idea, as
session and window managers can interfere with key bindings. A good option
is to use an 'Xvfb' dummy X server to do this.
Here is an example where they are not;
Getting a file added to xrdp
----------------------------
This is the definition for the backspace key;
Key22=65288:8
The file dump-keymaps.sh in this directory is used to auto-generate
all keymap files. It runs on Linux currently, but will generate
keymap files suitable for any xrdp platform.
And this is the star on the keypad;
Key63=65450:42
To create a new file run "xrdp-genkeymap <filename>"
Example: ./xrdp-genkeymap /etc/xrdp/km-00000409.ini
Note: You need to have enough rights to be able to write to the
/etc/xrdp directory.
Alternatively, create the keymap file in a directory of your choice, then
copy or move it over to /etc/xrdp using sudo/su.
1) Add a line towards the end of this file which causes your mapping to
be generated. Use the other lines in this file as a guide.
2) Run the dump-keymaps.sh script to generate a new file in
instfiles/
3) Add your mapping to the list in instfiless/Makefile.am
4) Submit a pull request to the project containing the above three
changes.

View File

@ -29,29 +29,29 @@ SUFFIXES = .in
startscriptdir=$(sysconfdir)/xrdp
dist_startscript_DATA = \
km-00000406.toml \
km-00000407.toml \
km-00000409.toml \
km-0000040a.toml \
km-0000040b.toml \
km-0000040c.toml \
km-00000410.toml \
km-00000411.toml \
km-00000412.toml \
km-00000414.toml \
km-00000415.toml \
km-00000416.toml \
km-00000419.toml \
km-0000041d.toml \
km-00000807.toml \
km-00000809.toml \
km-0000080a.toml \
km-0000080c.toml \
km-00000813.toml \
km-00000816.toml \
km-0000100c.toml \
km-00010409.toml \
km-19360409.toml
km-00000406.ini \
km-00000407.ini \
km-00000409.ini \
km-0000040a.ini \
km-0000040b.ini \
km-0000040c.ini \
km-00000410.ini \
km-00000411.ini \
km-00000412.ini \
km-00000414.ini \
km-00000415.ini \
km-00000416.ini \
km-00000419.ini \
km-0000041d.ini \
km-00000807.ini \
km-00000809.ini \
km-0000080a.ini \
km-0000080c.ini \
km-00000813.ini \
km-00000816.ini \
km-0000100c.ini \
km-00010409.ini \
km-19360409.ini
#
# platform specific files
@ -98,9 +98,6 @@ endif
if FREEBSD
# must be tab below
install-data-hook:
sed -e 's|%%PREFIX%%|$(prefix)|g' \
-e 's|%%LOCALSTATEDIR%%|$(localstatedir)|g' \
-i '' \
$(DESTDIR)$(sysconfdir)/rc.d/xrdp \
$(DESTDIR)$(sysconfdir)/rc.d/xrdp-sesman
sed -i '' 's|%%PREFIX%%|$(prefix)|g' $(DESTDIR)$(sysconfdir)/rc.d/xrdp \
$(DESTDIR)$(sysconfdir)/rc.d/xrdp-sesman
endif

View File

@ -116,7 +116,7 @@ case "$1" in
log_progress_msg $NAME
if pidofproc -p $PIDDIR/$NAME.pid $DAEMON > /dev/null; then
start-stop-daemon --stop --quiet --oknodo --pidfile $PIDDIR/$NAME.pid \
--remove-pidfile --exec $DAEMON
--exec $DAEMON
value=$?
[ $value -gt 0 ] && exitval=$value
else

659
instfiles/km-00000406.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=168:168
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=230:230
Key48=248:248
Key49=189:189
Key50=65505:0
Key51=39:39
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=94:94
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=198:198
Key48=216:216
Key49=167:167
Key50=65505:0
Key51=42:42
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=161:161
Key11=64:64
Key12=163:163
Key13=36:36
Key14=8364:8364
Key15=165:165
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=124:124
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=174:174
Key28=254:254
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5053:339
Key33=254:254
Key34=65111:168
Key35=126:126
Key36=65293:13
Key37=65507:0
Key38=170:170
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=248:248
Key48=230:230
Key49=182:182
Key50=65505:0
Key51=180:180
Key52=171:171
Key53=187:187
Key54=169:169
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=65115:184
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=0:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=214:214
Key48=196:196
Key49=167:167
Key50=65505:0
Key51=39:39
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=65106:94
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=246:246
Key48=228:228
Key49=189:189
Key50=65505:0
Key51=42:42
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -187,7 +187,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -454,7 +451,7 @@ Key60=247:247
Key61=2729:8212
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -469,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -501,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -618,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -636,166 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=185:185
Key11=178:178
Key12=179:179
Key13=188:188
Key14=189:189
Key15=172:172
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=65115:184
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=419:321
Key26=8364:8364
Key27=182:182
Key28=940:358
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=216:216
Key33=222:222
Key34=65111:168
Key35=126:126
Key36=65293:13
Key37=65507:0
Key38=198:198
Key39=16777299:83
Key40=208:208
Key41=464:272
Key42=957:330
Key43=673:294
Key44=65120:0
Key45=930:312
Key46=419:321
Key47=65113:733
Key48=65106:94
Key49=16785458:8242
Key50=65505:0
Key51=2769:8217
Key52=187:187
Key53=171:171
Key54=162:162
Key55=2814:8222
Key56=2770:8220
Key57=2771:8221
Key58=924:0
Key59=183:183
Key60=16785446:8230
Key61=2730:8211
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
@ -853,7 +714,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -868,27 +729,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -900,168 +763,29 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=2755:8539
Key12=163:163
Key13=164:164
Key14=2756:8540
Key15=2757:8541
Key16=2758:8542
Key17=2761:8482
Key18=177:177
Key19=176:176
Key20=191:191
Key21=65116:731
Key22=65288:8
Key23=65056:0
Key24=2009:937
Key25=435:322
Key26=8364:8364
Key27=174:174
Key28=956:359
Key29=165:165
Key30=2300:8593
Key31=697:305
Key32=248:248
Key33=254:254
Key34=65112:176
Key35=175:175
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=16785054:7838
Key40=240:240
Key41=170:170
Key42=959:331
Key43=689:295
Key44=65110:729
Key45=38:38
Key46=435:322
Key47=65120:0
Key48=65114:711
Key49=16785459:8243
Key50=65505:0
Key51=65109:728
Key52=16785466:8250
Key53=16785465:8249
Key54=169:169
Key55=2813:8218
Key56=2768:8216
Key57=2769:8217
Key58=186:186
Key59=215:215
Key60=247:247
Key61=2729:8212
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0

File diff suppressed because it is too large Load Diff

791
instfiles/km-00000409.ini Normal file
View File

@ -0,0 +1,791 @@
[noshift]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=59:59
Key48=39:39
Key49=96:96
Key50=65505:0
Key51=92:92
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=47:47
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=64:64
Key12=35:35
Key13=36:36
Key14=37:37
Key15=94:94
Key16=38:38
Key17=42:42
Key18=40:40
Key19=41:41
Key20=95:95
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=123:123
Key35=125:125
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=58:58
Key48=34:34
Key49=126:126
Key50=65505:0
Key51=124:124
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=60:60
Key60=62:62
Key61=63:63
Key62=65506:0
Key63=65450:42
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65032:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=59:59
Key48=39:39
Key49=96:96
Key50=65505:0
Key51=92:92
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=47:47
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=64:64
Key12=35:35
Key13=36:36
Key14=37:37
Key15=94:94
Key16=38:38
Key17=42:42
Key18=40:40
Key19=41:41
Key20=95:95
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=123:123
Key35=125:125
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=58:58
Key48=34:34
Key49=126:126
Key50=65505:0
Key51=124:124
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=60:60
Key60=62:62
Key61=63:63
Key62=65506:0
Key63=65450:42
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65032:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=59:59
Key48=39:39
Key49=96:96
Key50=65505:0
Key51=92:92
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=47:47
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=64:64
Key12=35:35
Key13=36:36
Key14=37:37
Key15=94:94
Key16=38:38
Key17=42:42
Key18=40:40
Key19=41:41
Key20=95:95
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=123:123
Key35=125:125
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=58:58
Key48=34:34
Key49=126:126
Key50=65505:0
Key51=124:124
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=60:60
Key60=62:62
Key61=63:63
Key62=65506:0
Key63=65450:42
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65032:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

659
instfiles/km-0000040a.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=39:39
Key21=161:161
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65104:96
Key35=43:43
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=241:241
Key48=65105:180
Key49=186:186
Key50=65505:0
Key51=231:231
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65364:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=183:183
Key13=36:36
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=191:191
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65106:94
Key35=42:42
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=209:209
Key48=65111:168
Key49=170:170
Key50=65505:0
Key51=199:199
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65364:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=124:124
Key11=64:64
Key12=35:35
Key13=126:126
Key14=189:189
Key15=172:172
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=126:126
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=182:182
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=248:248
Key33=254:254
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=126:126
Key48=123:123
Key49=92:92
Key50=65505:0
Key51=125:125
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=2211:0
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65364:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=0:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=39:39
Key21=161:161
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65104:96
Key35=43:43
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=209:209
Key48=65105:180
Key49=186:186
Key50=65505:0
Key51=199:199
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65364:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=183:183
Key13=36:36
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=191:191
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65106:94
Key35=42:42
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=241:241
Key48=65111:168
Key49=170:170
Key50=65505:0
Key51=231:231
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65364:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

791
instfiles/km-0000040b.ini Normal file
View File

@ -0,0 +1,791 @@
[noshift]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=246:246
Key48=228:228
Key49=167:167
Key50=65505:0
Key51=39:39
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=65106:94
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=214:214
Key48=196:196
Key49=189:189
Key50=65505:0
Key51=42:42
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=64:64
Key12=163:163
Key13=36:36
Key14=8364:8364
Key15=165:165
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=177:177
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=174:174
Key28=254:254
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5053:339
Key33=254:254
Key34=65111:168
Key35=65107:126
Key36=65293:13
Key37=65507:0
Key38=170:170
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=65121:0
Key45=930:312
Key46=435:322
Key47=248:248
Key48=230:230
Key49=182:182
Key50=65505:0
Key51=180:180
Key52=171:171
Key53=187:187
Key54=169:169
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=65115:184
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
Key9=65307:27
Key10=185:185
Key11=178:178
Key12=179:179
Key13=188:188
Key14=162:162
Key15=2757:8541
Key16=247:247
Key17=171:171
Key18=187:187
Key19=176:176
Key20=191:191
Key21=172:172
Key22=65288:8
Key23=65056:0
Key24=2009:937
Key25=419:321
Key26=162:162
Key27=174:174
Key28=222:222
Key29=165:165
Key30=2300:8593
Key31=697:305
Key32=5052:338
Key33=222:222
Key34=65112:176
Key35=65114:711
Key36=65293:13
Key37=65507:0
Key38=186:186
Key39=167:167
Key40=208:208
Key41=170:170
Key42=957:330
Key43=673:294
Key44=65122:0
Key45=38:38
Key46=419:321
Key47=216:216
Key48=198:198
Key49=190:190
Key50=65505:0
Key51=215:215
Key52=60:60
Key53=62:62
Key54=169:169
Key55=2768:8216
Key56=2769:8217
Key57=78:78
Key58=186:186
Key59=65116:731
Key60=65110:729
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65032:0
Key65=160:160
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=214:214
Key48=196:196
Key49=167:167
Key50=65505:0
Key51=39:39
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=65106:94
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=246:246
Key48=228:228
Key49=189:189
Key50=65505:0
Key51=42:42
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

659
instfiles/km-0000040c.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=38:38
Key11=233:233
Key12=34:34
Key13=39:39
Key14=40:40
Key15=45:45
Key16=232:232
Key17=95:95
Key18=231:231
Key19=224:224
Key20=41:41
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=97:97
Key25=122:122
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65106:94
Key35=36:36
Key36=65293:13
Key37=65507:0
Key38=113:113
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=109:109
Key48=249:249
Key49=178:178
Key50=65505:0
Key51=42:42
Key52=119:119
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=44:44
Key59=59:59
Key60=58:58
Key61=33:33
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=176:176
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=65:65
Key25=90:90
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65111:168
Key35=163:163
Key36=65293:13
Key37=65507:0
Key38=81:81
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=77:77
Key48=37:37
Key49=126:126
Key50=65505:0
Key51=181:181
Key52=87:87
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=63:63
Key59=46:46
Key60=47:47
Key61=167:167
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=185:185
Key11=126:126
Key12=35:35
Key13=123:123
Key14=91:91
Key15=124:124
Key16=96:96
Key17=92:92
Key18=94:94
Key19=64:64
Key20=93:93
Key21=125:125
Key22=65288:8
Key23=65289:9
Key24=230:230
Key25=171:171
Key26=8364:8364
Key27=182:182
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=248:248
Key33=254:254
Key34=65111:168
Key35=164:164
Key36=65293:13
Key37=65507:0
Key38=64:64
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=181:181
Key48=65106:94
Key49=172:172
Key50=65505:0
Key51=65104:96
Key52=435:322
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=65105:180
Key59=2211:0
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=0:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=38:38
Key11=201:201
Key12=34:34
Key13=39:39
Key14=40:40
Key15=45:45
Key16=200:200
Key17=95:95
Key18=199:199
Key19=192:192
Key20=41:41
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=65:65
Key25=90:90
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65106:94
Key35=36:36
Key36=65293:13
Key37=65507:0
Key38=81:81
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=77:77
Key48=217:217
Key49=178:178
Key50=65505:0
Key51=42:42
Key52=87:87
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=44:44
Key59=59:59
Key60=58:58
Key61=33:33
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=176:176
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=97:97
Key25=122:122
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65111:168
Key35=163:163
Key36=65293:13
Key37=65507:0
Key38=113:113
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=109:109
Key48=37:37
Key49=126:126
Key50=65505:0
Key51=924:0
Key52=119:119
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=63:63
Key59=46:46
Key60=47:47
Key61=167:167
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -187,7 +187,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=171:171
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -454,7 +451,7 @@ Key60=65111:168
Key61=247:247
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -469,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=187:187
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -501,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -618,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -636,166 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=185:185
Key11=178:178
Key12=179:179
Key13=188:188
Key14=189:189
Key15=172:172
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=96:96
Key21=126:126
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=419:321
Key26=8364:8364
Key27=182:182
Key28=940:358
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=216:216
Key33=222:222
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=198:198
Key39=223:223
Key40=208:208
Key41=464:272
Key42=957:330
Key43=673:294
Key44=65121:0
Key45=930:312
Key46=419:321
Key47=64:64
Key48=35:35
Key49=172:172
Key50=65505:0
Key51=65104:96
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=209:209
Key58=924:0
Key59=65105:180
Key60=183:183
Key61=65108:175
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
@ -853,7 +714,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -868,27 +729,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -900,168 +763,29 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=65113:733
Key12=65107:126
Key13=2755:8539
Key14=2756:8540
Key15=2757:8541
Key16=2758:8542
Key17=2761:8482
Key18=177:177
Key19=65116:731
Key20=191:191
Key21=65106:94
Key22=65288:8
Key23=65056:0
Key24=2009:937
Key25=435:322
Key26=162:162
Key27=174:174
Key28=956:359
Key29=165:165
Key30=2300:8593
Key31=697:305
Key32=248:248
Key33=254:254
Key34=123:123
Key35=125:125
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=167:167
Key40=240:240
Key41=170:170
Key42=959:331
Key43=689:295
Key44=65122:0
Key45=38:38
Key46=435:322
Key47=65115:184
Key48=65112:176
Key49=166:166
Key50=65505:0
Key51=65109:728
Key52=60:60
Key53=62:62
Key54=169:169
Key55=2768:8216
Key56=2769:8217
Key57=241:241
Key58=186:186
Key59=215:215
Key60=65111:168
Key61=247:247
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -106,30 +108,27 @@ Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=92:92
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=165:165
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -203,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -239,33 +240,27 @@ Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=95:95
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=124:124
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -353,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -375,30 +372,27 @@ Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=165:165
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -472,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -508,33 +504,27 @@ Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=124:124
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -622,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -644,30 +636,27 @@ Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=165:165
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslockaltgr]
Key8=65406:0
@ -755,13 +744,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -777,30 +768,27 @@ Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=165:165
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
@ -874,27 +862,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -910,33 +900,27 @@ Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=124:124
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
@ -1010,27 +994,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -1046,30 +1032,24 @@ Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=65315:0
Key130=0:0
Key131=65314:0
Key132=0:0
Key133=124:124
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

1057
instfiles/km-00000412.ini Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

659
instfiles/km-00000414.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=92:92
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=248:248
Key48=230:230
Key49=124:124
Key50=65505:0
Key51=39:39
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=269025074:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=65106:94
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=216:216
Key48=198:198
Key49=167:167
Key50=65505:0
Key51=42:42
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65032:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=0:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=269025074:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=64:64
Key12=163:163
Key13=36:36
Key14=189:189
Key15=165:165
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=177:177
Key21=65105:180
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=174:174
Key28=254:254
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5053:339
Key33=2032:960
Key34=65111:168
Key35=65107:126
Key36=65293:13
Key37=65507:0
Key38=170:170
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=65105:180
Key48=65106:94
Key49=166:166
Key50=65505:0
Key51=65113:733
Key52=171:171
Key53=187:187
Key54=169:169
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=65115:184
Key60=2734:8230
Key61=2730:8211
Key62=65506:0
Key63=16786117:8901
Key64=65513:0
Key65=160:160
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=16785938:8722
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=16777259:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=189:189
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=16785941:8725
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=269025074:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=43:43
Key21=92:92
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=197:197
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=216:216
Key48=198:198
Key49=124:124
Key50=65505:0
Key51=39:39
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=269025074:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=35:35
Key13=164:164
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=229:229
Key35=65106:94
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=248:248
Key48=230:230
Key49=167:167
Key50=65505:0
Key51=42:42
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65032:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=0:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=269025074:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -187,7 +187,7 @@ Key60=62:62
Key61=63:63
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -454,7 +451,7 @@ Key60=247:247
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=160:160
Key66=65509:0
Key67=65470:0
@ -469,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -501,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -618,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -636,166 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=2237:8800
Key11=178:178
Key12=179:179
Key13=162:162
Key14=8364:8364
Key15=189:189
Key16=167:167
Key17=183:183
Key18=171:171
Key19=187:187
Key20=2730:8211
Key21=65115:184
Key22=65288:8
Key23=65289:9
Key24=2009:937
Key25=5052:338
Key26=458:280
Key27=169:169
Key28=223:223
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=211:211
Key33=222:222
Key34=65111:168
Key35=65107:126
Key36=65293:13
Key37=65507:0
Key38=417:260
Key39=422:346
Key40=208:208
Key41=198:198
Key42=957:330
Key43=2769:8217
Key44=16777615:399
Key45=2734:8230
Key46=419:321
Key47=65105:180
Key48=65106:94
Key49=172:172
Key50=65505:0
Key51=65104:96
Key52=431:379
Key53=428:377
Key54=454:262
Key55=2814:8222
Key56=2771:8221
Key57=465:323
Key58=924:0
Key59=2236:8804
Key60=2238:8805
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=160:160
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
@ -853,7 +714,7 @@ Key60=62:62
Key61=63:63
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -868,27 +729,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -900,168 +763,29 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=191:191
Key12=163:163
Key13=188:188
Key14=16785456:8240
Key15=2270:8743
Key16=16785992:8776
Key17=190:190
Key18=177:177
Key19=176:176
Key20=2729:8212
Key21=65116:731
Key22=65288:8
Key23=65056:0
Key24=2032:960
Key25=5053:339
Key26=490:281
Key27=174:174
Key28=2761:8482
Key29=165:165
Key30=2300:8593
Key31=16785812:8596
Key32=243:243
Key33=254:254
Key34=65112:176
Key35=65108:175
Key36=65293:13
Key37=65507:0
Key38=433:261
Key39=438:347
Key40=240:240
Key41=230:230
Key42=959:331
Key43=16785442:8226
Key44=16777817:601
Key45=65123:0
Key46=435:322
Key47=65113:733
Key48=65114:711
Key49=2271:8744
Key50=65505:0
Key51=65109:728
Key52=447:380
Key53=444:378
Key54=486:263
Key55=2768:8216
Key56=2770:8220
Key57=497:324
Key58=2242:8734
Key59=215:215
Key60=247:247
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=160:160
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0

File diff suppressed because it is too large Load Diff

659
instfiles/km-00000416.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65105:180
Key35=91:91
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=231:231
Key48=65107:126
Key49=39:39
Key50=65505:0
Key51=93:93
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=59:59
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65027:0
Key93=0:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=47:47
Key98=65318:0
Key99=65317:0
Key100=65315:0
Key101=65319:0
Key102=65314:0
Key103=0:0
Key104=65421:13
Key105=65508:0
Key106=65455:47
Key107=65377:0
Key108=65027:0
Key109=65290:10
Key110=65360:0
Key111=65362:0
Key112=65365:0
Key113=65361:0
Key114=65363:0
Key115=65367:0
Key116=65364:0
Key117=65366:0
Key118=65379:0
Key119=65535:127
Key120=0:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=269025066:0
Key125=65469:61
Key126=177:177
Key127=65299:0
Key128=269025098:0
Key129=65454:46
Key130=65329:0
Key131=65332:0
Key132=0:0
Key133=65515:0
Key134=65516:0
Key135=65383:0
Key136=65385:0
Key137=65382:0
[shift]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=64:64
Key12=35:35
Key13=36:36
Key14=37:37
Key15=65111:168
Key16=38:38
Key17=42:42
Key18=40:40
Key19=41:41
Key20=95:95
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65104:96
Key35=123:123
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=199:199
Key48=65106:94
Key49=34:34
Key50=65505:0
Key51=125:125
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=60:60
Key60=62:62
Key61=58:58
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65027:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=63:63
Key98=65318:0
Key99=65317:0
Key100=65315:0
Key101=65319:0
Key102=65314:0
Key103=0:0
Key104=65421:13
Key105=65508:0
Key106=65455:47
Key107=65377:0
Key108=65027:0
Key109=65290:10
Key110=65360:0
Key111=65362:0
Key112=65365:0
Key113=65361:0
Key114=65363:0
Key115=65367:0
Key116=65364:0
Key117=65366:0
Key118=65379:0
Key119=65535:127
Key120=0:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=269025066:0
Key125=65469:61
Key126=177:177
Key127=65299:0
Key128=269025098:0
Key129=65454:46
Key130=65329:0
Key131=65332:0
Key132=0:0
Key133=65515:0
Key134=65516:0
Key135=65383:0
Key136=65385:0
Key137=65382:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=185:185
Key11=178:178
Key12=179:179
Key13=163:163
Key14=162:162
Key15=172:172
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=167:167
Key22=65288:8
Key23=65289:9
Key24=47:47
Key25=63:63
Key26=8364:8364
Key27=174:174
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=248:248
Key33=254:254
Key34=180:180
Key35=170:170
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=65105:180
Key48=126:126
Key49=172:172
Key50=65505:0
Key51=186:186
Key52=171:171
Key53=187:187
Key54=169:169
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=2211:0
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65027:0
Key93=0:0
Key94=186:186
Key95=65480:0
Key96=65481:0
Key97=176:176
Key98=65318:0
Key99=65317:0
Key100=65315:0
Key101=65319:0
Key102=65314:0
Key103=0:0
Key104=65421:13
Key105=65508:0
Key106=65455:47
Key107=65377:0
Key108=65027:0
Key109=65290:10
Key110=65360:0
Key111=65362:0
Key112=65365:0
Key113=65361:0
Key114=65363:0
Key115=65367:0
Key116=65364:0
Key117=65366:0
Key118=65379:0
Key119=65535:127
Key120=0:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=269025066:0
Key125=65469:61
Key126=177:177
Key127=65299:0
Key128=269025098:0
Key129=65454:46
Key130=65329:0
Key131=65332:0
Key132=0:0
Key133=65515:0
Key134=65516:0
Key135=65383:0
Key136=65385:0
Key137=65382:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65105:180
Key35=91:91
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=199:199
Key48=65107:126
Key49=39:39
Key50=65505:0
Key51=93:93
Key52=90:90
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=59:59
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65027:0
Key93=0:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=47:47
Key98=65318:0
Key99=65317:0
Key100=65315:0
Key101=65319:0
Key102=65314:0
Key103=0:0
Key104=65421:13
Key105=65508:0
Key106=65455:47
Key107=65377:0
Key108=65027:0
Key109=65290:10
Key110=65360:0
Key111=65362:0
Key112=65365:0
Key113=65361:0
Key114=65363:0
Key115=65367:0
Key116=65364:0
Key117=65366:0
Key118=65379:0
Key119=65535:127
Key120=0:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=269025066:0
Key125=65469:61
Key126=177:177
Key127=65299:0
Key128=269025098:0
Key129=65454:46
Key130=65329:0
Key131=65332:0
Key132=0:0
Key133=65515:0
Key134=65516:0
Key135=65383:0
Key136=65385:0
Key137=65382:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=33:33
Key11=64:64
Key12=35:35
Key13=36:36
Key14=37:37
Key15=65111:168
Key16=38:38
Key17=42:42
Key18=40:40
Key19=41:41
Key20=95:95
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65104:96
Key35=123:123
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=231:231
Key48=65106:94
Key49=34:34
Key50=65505:0
Key51=125:125
Key52=122:122
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=60:60
Key60=62:62
Key61=58:58
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65027:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=63:63
Key98=65318:0
Key99=65317:0
Key100=65315:0
Key101=65319:0
Key102=65314:0
Key103=0:0
Key104=65421:13
Key105=65508:0
Key106=65455:47
Key107=65377:0
Key108=65027:0
Key109=65290:10
Key110=65360:0
Key111=65362:0
Key112=65365:0
Key113=65361:0
Key114=65363:0
Key115=65367:0
Key116=65364:0
Key117=65366:0
Key118=65379:0
Key119=65535:127
Key120=0:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=269025066:0
Key125=65469:61
Key126=177:177
Key127=65299:0
Key128=269025098:0
Key129=65454:46
Key130=65329:0
Key131=65332:0
Key132=0:0
Key133=65515:0
Key134=65516:0
Key135=65383:0
Key136=65385:0
Key137=65382:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=47:47
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -105,30 +107,28 @@ Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -187,7 +187,7 @@ Key60=1760:1070
Key61=44:44
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65032:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -275,7 +272,7 @@ Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=16785597:8381
Key17=56:56
Key18=57:57
Key19=48:48
Key20=45:45
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -372,30 +371,28 @@ Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -407,6 +404,7 @@ Key13=59:59
Key14=37:37
Key15=58:58
Key16=63:63
Key17=42:42
Key18=40:40
Key19=41:41
Key20=95:95
@ -453,7 +451,7 @@ Key60=1760:1070
Key61=44:44
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -468,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -500,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65032:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -617,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=47:47
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -638,163 +635,28 @@ Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=16785597:8381
Key18=57:57
Key19=48:48
Key20=45:45
Key21=61:61
Key22=65288:8
Key23=65289:9
Key24=1770:1049
Key25=1763:1062
Key26=1781:1059
Key27=1771:1050
Key28=1765:1045
Key29=1774:1053
Key30=1767:1043
Key31=1787:1064
Key32=1789:1065
Key33=1786:1047
Key34=1768:1061
Key35=1791:1066
Key36=65293:13
Key37=65507:0
Key38=1766:1060
Key39=1785:1067
Key40=1783:1042
Key41=1761:1040
Key42=1776:1055
Key43=1778:1056
Key44=1775:1054
Key45=1772:1051
Key46=1764:1044
Key47=1782:1046
Key48=1788:1069
Key49=1715:1025
Key50=65505:0
Key51=92:92
Key52=1777:1071
Key53=1790:1063
Key54=1779:1057
Key55=1773:1052
Key56=1769:1048
Key57=1780:1058
Key58=1784:1068
Key59=1762:1041
Key60=1760:1070
Key61=46:46
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
@ -852,7 +714,7 @@ Key60=1728:1102
Key61=44:44
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -867,27 +729,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -899,167 +763,29 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65032:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=33:33
Key11=34:34
Key12=1712:8470
Key13=59:59
Key14=37:37
Key15=58:58
Key16=63:63
Key18=40:40
Key19=41:41
Key20=95:95
Key21=43:43
Key22=65288:8
Key23=65056:0
Key24=1738:1081
Key25=1731:1094
Key26=1749:1091
Key27=1739:1082
Key28=1733:1077
Key29=1742:1085
Key30=1735:1075
Key31=1755:1096
Key32=1757:1097
Key33=1754:1079
Key34=1736:1093
Key35=1759:1098
Key36=65293:13
Key37=65507:0
Key38=1734:1092
Key39=1753:1099
Key40=1751:1074
Key41=1729:1072
Key42=1744:1087
Key43=1746:1088
Key44=1743:1086
Key45=1740:1083
Key46=1732:1076
Key47=1750:1078
Key48=1756:1101
Key49=1699:1105
Key50=65505:0
Key51=47:47
Key52=1745:1103
Key53=1758:1095
Key54=1747:1089
Key55=1741:1084
Key56=1737:1080
Key57=1748:1090
Key58=1752:1100
Key59=1730:1073
Key60=1728:1102
Key61=44:44
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -187,7 +187,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -454,7 +451,7 @@ Key60=65110:729
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=160:160
Key66=65509:0
Key67=65470:0
@ -469,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -501,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -618,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -636,166 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=64:64
Key12=163:163
Key13=36:36
Key14=8364:8364
Key15=165:165
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=177:177
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=419:321
Key26=8364:8364
Key27=174:174
Key28=222:222
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5052:338
Key33=222:222
Key34=65111:168
Key35=65107:126
Key36=65293:13
Key37=65507:0
Key38=170:170
Key39=223:223
Key40=208:208
Key41=464:272
Key42=957:330
Key43=673:294
Key44=65121:0
Key45=930:312
Key46=419:321
Key47=216:216
Key48=198:198
Key49=182:182
Key50=65505:0
Key51=180:180
Key52=171:171
Key53=187:187
Key54=169:169
Key55=2770:8220
Key56=2771:8221
Key57=78:78
Key58=924:0
Key59=65115:184
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
@ -853,7 +714,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -868,27 +729,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65452:44
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -900,168 +763,29 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=185:185
Key11=178:178
Key12=179:179
Key13=188:188
Key14=162:162
Key15=2757:8541
Key16=247:247
Key17=171:171
Key18=187:187
Key19=176:176
Key20=191:191
Key21=172:172
Key22=65288:8
Key23=65056:0
Key24=2009:937
Key25=435:322
Key26=162:162
Key27=174:174
Key28=254:254
Key29=165:165
Key30=2300:8593
Key31=697:305
Key32=5053:339
Key33=254:254
Key34=65112:176
Key35=65114:711
Key36=65293:13
Key37=65507:0
Key38=186:186
Key39=167:167
Key40=240:240
Key41=170:170
Key42=959:331
Key43=689:295
Key44=65122:0
Key45=38:38
Key46=435:322
Key47=248:248
Key48=230:230
Key49=190:190
Key50=65505:0
Key51=215:215
Key52=60:60
Key53=62:62
Key54=169:169
Key55=2768:8216
Key56=2769:8217
Key57=110:110
Key58=186:186
Key59=65116:731
Key60=65110:729
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=160:160
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0

File diff suppressed because it is too large Load Diff

659
instfiles/km-00000807.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=39:39
Key21=65106:94
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=122:122
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=252:252
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=246:246
Key48=228:228
Key49=167:167
Key50=65505:0
Key51=36:36
Key52=121:121
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=43:43
Key11=34:34
Key12=42:42
Key13=231:231
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=90:90
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=232:232
Key35=33:33
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=233:233
Key48=224:224
Key49=176:176
Key50=65505:0
Key51=163:163
Key52=89:89
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65312:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=124:124
Key11=64:64
Key12=35:35
Key13=188:188
Key14=189:189
Key15=172:172
Key16=166:166
Key17=162:162
Key18=93:93
Key19=125:125
Key20=65105:180
Key21=65107:126
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=182:182
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=248:248
Key33=254:254
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=65105:180
Key48=123:123
Key49=172:172
Key50=65505:0
Key51=125:125
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=2211:0
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=0:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=39:39
Key21=65106:94
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=90:90
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=220:220
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=214:214
Key48=196:196
Key49=167:167
Key50=65505:0
Key51=36:36
Key52=89:89
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=43:43
Key11=34:34
Key12=42:42
Key13=199:199
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=122:122
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=200:200
Key35=33:33
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=201:201
Key48=192:192
Key49=176:176
Key50=65505:0
Key51=163:163
Key52=121:121
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65312:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -469,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -501,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -618,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -636,33 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslockaltgr]
Key8=65406:0
@ -750,13 +744,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -768,33 +764,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
@ -868,27 +862,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -900,36 +896,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
@ -1003,27 +994,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -1035,33 +1028,28 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65312:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

1055
instfiles/km-0000080a.ini Normal file

File diff suppressed because it is too large Load Diff

File diff suppressed because it is too large Load Diff

659
instfiles/km-0000080c.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=38:38
Key11=233:233
Key12=34:34
Key13=39:39
Key14=40:40
Key15=167:167
Key16=232:232
Key17=33:33
Key18=231:231
Key19=224:224
Key20=41:41
Key21=45:45
Key22=65288:8
Key23=65289:9
Key24=97:97
Key25=122:122
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65106:94
Key35=36:36
Key36=65293:13
Key37=65507:0
Key38=113:113
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=109:109
Key48=249:249
Key49=178:178
Key50=65505:0
Key51=181:181
Key52=119:119
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=44:44
Key59=59:59
Key60=58:58
Key61=61:61
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=176:176
Key21=95:95
Key22=65288:8
Key23=65056:0
Key24=65:65
Key25=90:90
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65111:168
Key35=42:42
Key36=65293:13
Key37=65507:0
Key38=81:81
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=77:77
Key48=37:37
Key49=179:179
Key50=65505:0
Key51=163:163
Key52=87:87
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=63:63
Key59=46:46
Key60=47:47
Key61=43:43
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=124:124
Key11=64:64
Key12=35:35
Key13=188:188
Key14=189:189
Key15=94:94
Key16=123:123
Key17=91:91
Key18=123:123
Key19=125:125
Key20=92:92
Key21=65115:184
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=182:182
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5053:339
Key33=254:254
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=65105:180
Key48=65105:180
Key49=172:172
Key50=65505:0
Key51=65104:96
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=65115:184
Key59=2211:0
Key60=183:183
Key61=65107:126
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=38:38
Key11=201:201
Key12=34:34
Key13=39:39
Key14=40:40
Key15=167:167
Key16=200:200
Key17=33:33
Key18=199:199
Key19=192:192
Key20=41:41
Key21=45:45
Key22=65288:8
Key23=65289:9
Key24=65:65
Key25=90:90
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65106:94
Key35=36:36
Key36=65293:13
Key37=65507:0
Key38=81:81
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=77:77
Key48=217:217
Key49=178:178
Key50=65505:0
Key51=924:0
Key52=87:87
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=44:44
Key59=59:59
Key60=58:58
Key61=61:61
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=176:176
Key21=95:95
Key22=65288:8
Key23=65056:0
Key24=97:97
Key25=122:122
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65111:168
Key35=42:42
Key36=65293:13
Key37=65507:0
Key38=113:113
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=109:109
Key48=37:37
Key49=179:179
Key50=65505:0
Key51=163:163
Key52=119:119
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=63:63
Key59=46:46
Key60=47:47
Key61=43:43
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

659
instfiles/km-00000813.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=38:38
Key11=233:233
Key12=34:34
Key13=39:39
Key14=40:40
Key15=167:167
Key16=232:232
Key17=33:33
Key18=231:231
Key19=224:224
Key20=41:41
Key21=45:45
Key22=65288:8
Key23=65289:9
Key24=97:97
Key25=122:122
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65106:94
Key35=36:36
Key36=65293:13
Key37=65507:0
Key38=113:113
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=109:109
Key48=249:249
Key49=178:178
Key50=65505:0
Key51=181:181
Key52=119:119
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=44:44
Key59=59:59
Key60=58:58
Key61=61:61
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=176:176
Key21=95:95
Key22=65288:8
Key23=65056:0
Key24=65:65
Key25=90:90
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65111:168
Key35=42:42
Key36=65293:13
Key37=65507:0
Key38=81:81
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=77:77
Key48=37:37
Key49=179:179
Key50=65505:0
Key51=163:163
Key52=87:87
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=63:63
Key59=46:46
Key60=47:47
Key61=43:43
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=124:124
Key11=64:64
Key12=35:35
Key13=188:188
Key14=189:189
Key15=94:94
Key16=123:123
Key17=91:91
Key18=123:123
Key19=125:125
Key20=92:92
Key21=65115:184
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=182:182
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=5053:339
Key33=254:254
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=65105:180
Key48=65105:180
Key49=172:172
Key50=65505:0
Key51=65104:96
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=65115:184
Key59=2211:0
Key60=183:183
Key61=65107:126
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=38:38
Key11=201:201
Key12=34:34
Key13=39:39
Key14=40:40
Key15=167:167
Key16=200:200
Key17=33:33
Key18=199:199
Key19=192:192
Key20=41:41
Key21=45:45
Key22=65288:8
Key23=65289:9
Key24=65:65
Key25=90:90
Key26=69:69
Key27=82:82
Key28=84:84
Key29=89:89
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=65106:94
Key35=36:36
Key36=65293:13
Key37=65507:0
Key38=81:81
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=77:77
Key48=217:217
Key49=178:178
Key50=65505:0
Key51=924:0
Key52=87:87
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=44:44
Key59=59:59
Key60=58:58
Key61=61:61
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=176:176
Key21=95:95
Key22=65288:8
Key23=65056:0
Key24=97:97
Key25=122:122
Key26=101:101
Key27=114:114
Key28=116:116
Key29=121:121
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=65111:168
Key35=42:42
Key36=65293:13
Key37=65507:0
Key38=113:113
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=109:109
Key48=37:37
Key49=179:179
Key50=65505:0
Key51=163:163
Key52=119:119
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=63:63
Key59=46:46
Key60=47:47
Key61=43:43
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -84,13 +84,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -187,7 +187,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -202,27 +202,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -351,13 +348,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -454,7 +451,7 @@ Key60=247:247
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -469,27 +466,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -501,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -618,13 +612,15 @@ Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -636,166 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=185:185
Key11=64:64
Key12=163:163
Key13=167:167
Key14=189:189
Key15=172:172
Key16=123:123
Key17=91:91
Key18=93:93
Key19=125:125
Key20=92:92
Key21=65115:184
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=419:321
Key26=8364:8364
Key27=182:182
Key28=940:358
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=216:216
Key33=222:222
Key34=65111:168
Key35=65107:126
Key36=65293:13
Key37=65507:0
Key38=198:198
Key39=223:223
Key40=208:208
Key41=464:272
Key42=957:330
Key43=673:294
Key44=65121:0
Key45=930:312
Key46=419:321
Key47=65105:180
Key48=65106:94
Key49=172:172
Key50=65505:0
Key51=65104:96
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=78:78
Key58=924:0
Key59=2211:0
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
Key9=65307:27
@ -853,7 +714,7 @@ Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key64=65032:0
Key65=32:32
Key66=65509:0
Key67=65470:0
@ -868,27 +729,29 @@ Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key94=65312:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -900,168 +763,29 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key113=65027:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key116=65312:0
Key117=0:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key121=269025095:0
Key122=269025096:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=161:161
Key11=2755:8539
Key12=163:163
Key13=36:36
Key14=2756:8540
Key15=2757:8541
Key16=2758:8542
Key17=2761:8482
Key18=177:177
Key19=176:176
Key20=191:191
Key21=65116:731
Key22=65288:8
Key23=65056:0
Key24=2009:937
Key25=435:322
Key26=162:162
Key27=174:174
Key28=956:359
Key29=165:165
Key30=2300:8593
Key31=697:305
Key32=248:248
Key33=254:254
Key34=65112:176
Key35=65108:175
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=167:167
Key40=240:240
Key41=170:170
Key42=959:331
Key43=689:295
Key44=65122:0
Key45=38:38
Key46=435:322
Key47=65113:733
Key48=65114:711
Key49=172:172
Key50=65505:0
Key51=65109:728
Key52=60:60
Key53=62:62
Key54=169:169
Key55=2768:8216
Key56=2769:8217
Key57=110:110
Key58=186:186
Key59=215:215
Key60=247:247
Key61=65110:729
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0

File diff suppressed because it is too large Load Diff

659
instfiles/km-0000100c.ini Normal file
View File

@ -0,0 +1,659 @@
[noshift]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=39:39
Key21=65106:94
Key22=65288:8
Key23=65289:9
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=122:122
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=232:232
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=233:233
Key48=224:224
Key49=167:167
Key50=65505:0
Key51=36:36
Key52=121:121
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=0:0
Key9=65307:27
Key10=43:43
Key11=34:34
Key12=42:42
Key13=231:231
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=90:90
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=252:252
Key35=33:33
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=246:246
Key48=228:228
Key49=176:176
Key50=65505:0
Key51=163:163
Key52=89:89
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65312:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=0:0
Key9=65307:27
Key10=124:124
Key11=64:64
Key12=35:35
Key13=188:188
Key14=189:189
Key15=172:172
Key16=166:166
Key17=162:162
Key18=93:93
Key19=125:125
Key20=65105:180
Key21=65107:126
Key22=65288:8
Key23=65289:9
Key24=64:64
Key25=435:322
Key26=8364:8364
Key27=182:182
Key28=956:359
Key29=2299:8592
Key30=2302:8595
Key31=2301:8594
Key32=248:248
Key33=254:254
Key34=91:91
Key35=93:93
Key36=65293:13
Key37=65507:0
Key38=230:230
Key39=223:223
Key40=240:240
Key41=496:273
Key42=959:331
Key43=689:295
Key44=106:106
Key45=930:312
Key46=435:322
Key47=65105:180
Key48=123:123
Key49=172:172
Key50=65505:0
Key51=125:125
Key52=171:171
Key53=187:187
Key54=162:162
Key55=2770:8220
Key56=2771:8221
Key57=110:110
Key58=181:181
Key59=2211:0
Key60=183:183
Key61=65120:0
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=92:92
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=0:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=0:0
Key9=65307:27
Key10=49:49
Key11=50:50
Key12=51:51
Key13=52:52
Key14=53:53
Key15=54:54
Key16=55:55
Key17=56:56
Key18=57:57
Key19=48:48
Key20=39:39
Key21=65106:94
Key22=65288:8
Key23=65289:9
Key24=81:81
Key25=87:87
Key26=69:69
Key27=82:82
Key28=84:84
Key29=90:90
Key30=85:85
Key31=73:73
Key32=79:79
Key33=80:80
Key34=200:200
Key35=65111:168
Key36=65293:13
Key37=65507:0
Key38=65:65
Key39=83:83
Key40=68:68
Key41=70:70
Key42=71:71
Key43=72:72
Key44=74:74
Key45=75:75
Key46=76:76
Key47=201:201
Key48=192:192
Key49=167:167
Key50=65505:0
Key51=36:36
Key52=89:89
Key53=88:88
Key54=67:67
Key55=86:86
Key56=66:66
Key57=78:78
Key58=77:77
Key59=44:44
Key60=46:46
Key61=45:45
Key62=65506:0
Key63=65450:42
Key64=65513:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65407:0
Key78=65300:0
Key79=65429:0
Key80=65431:0
Key81=65434:0
Key82=65453:45
Key83=65430:0
Key84=65437:0
Key85=65432:0
Key86=65451:43
Key87=65436:0
Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=65406:0
Key94=60:60
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65027:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=0:0
Key9=65307:27
Key10=43:43
Key11=34:34
Key12=42:42
Key13=199:199
Key14=37:37
Key15=38:38
Key16=47:47
Key17=40:40
Key18=41:41
Key19=61:61
Key20=63:63
Key21=65104:96
Key22=65288:8
Key23=65056:0
Key24=113:113
Key25=119:119
Key26=101:101
Key27=114:114
Key28=116:116
Key29=122:122
Key30=117:117
Key31=105:105
Key32=111:111
Key33=112:112
Key34=220:220
Key35=33:33
Key36=65293:13
Key37=65507:0
Key38=97:97
Key39=115:115
Key40=100:100
Key41=102:102
Key42=103:103
Key43=104:104
Key44=106:106
Key45=107:107
Key46=108:108
Key47=214:214
Key48=196:196
Key49=176:176
Key50=65505:0
Key51=163:163
Key52=121:121
Key53=120:120
Key54=99:99
Key55=118:118
Key56=98:98
Key57=110:110
Key58=109:109
Key59=59:59
Key60=58:58
Key61=95:95
Key62=65506:0
Key63=65450:42
Key64=65511:0
Key65=32:32
Key66=65509:0
Key67=65470:0
Key68=65471:0
Key69=65472:0
Key70=65473:0
Key71=65474:0
Key72=65475:0
Key73=65476:0
Key74=65477:0
Key75=65478:0
Key76=65479:0
Key77=65273:0
Key78=65300:0
Key79=65463:55
Key80=65464:56
Key81=65465:57
Key82=65453:45
Key83=65460:52
Key84=65461:53
Key85=65462:54
Key86=65451:43
Key87=65457:49
Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=0:0
Key93=65406:0
Key94=62:62
Key95=65480:0
Key96=65481:0
Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
Key105=65366:0
Key106=65379:0
Key107=65535:127
Key108=65421:13
Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65312:0
Key114=0:0
Key115=0:0
Key116=0:0
Key117=0:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=0:0
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -83,7 +83,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
@ -91,6 +92,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,33 +104,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65514:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[shift]
Key8=65406:0
@ -215,7 +215,8 @@ Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
@ -223,6 +224,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -234,36 +236,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65512:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[altgr]
Key8=65406:0
@ -350,7 +347,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
@ -358,6 +356,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -369,33 +368,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65514:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[shiftaltgr]
Key8=65406:0
@ -408,8 +405,10 @@ Key14=37:37
Key15=65106:94
Key16=38:38
Key17=42:42
Key18=0:0
Key19=41:41
Key20=123:123
Key21=0:0
Key22=65288:8
Key23=65056:0
Key24=65111:168
@ -480,7 +479,8 @@ Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
@ -488,6 +488,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -499,36 +500,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65512:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[capslock]
Key8=65406:0
@ -615,7 +611,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=60:60
Key95=65480:0
Key96=65481:0
@ -623,6 +620,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -634,33 +632,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65514:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[capslockaltgr]
Key8=65406:0
@ -747,7 +743,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=124:124
Key95=65480:0
Key96=65481:0
@ -755,6 +752,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -766,33 +764,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65514:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025044:0
Key173=269025046:0
Key174=269025045:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslock]
Key8=65406:0
@ -879,7 +875,8 @@ Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=62:62
Key95=65480:0
Key96=65481:0
@ -887,6 +884,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -898,36 +896,31 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65512:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0
[shiftcapslockaltgr]
Key8=65406:0
@ -940,8 +933,10 @@ Key14=37:37
Key15=65106:94
Key16=38:38
Key17=42:42
Key18=0:0
Key19=41:41
Key20=123:123
Key21=0:0
Key22=65288:8
Key23=65056:0
Key24=65111:168
@ -1012,7 +1007,8 @@ Key88=65458:50
Key89=65459:51
Key90=65456:48
Key91=65454:46
Key92=65377:0
Key92=0:0
Key93=0:0
Key94=166:166
Key95=65480:0
Key96=65481:0
@ -1020,6 +1016,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -1031,33 +1028,28 @@ Key109=65508:0
Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=269025049:0
Key113=65516:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key118=269025153:0
Key119=269025093:0
Key120=269025094:0
Key121=269025042:0
Key122=269025041:0
Key123=269025043:0
Key116=65512:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=65469:61
Key127=65515:0
Key128=65517:0
Key136=65385:0
Key156=269025089:0
Key157=269025090:0
Key163=269025049:0
Key164=269025072:0
Key166=269025062:0
Key167=269025063:0
Key171=269025047:0
Key172=269025073:0
Key173=269025046:0
Key174=269025068:0
Key180=269025048:0
Key181=269025139:0
Key225=269025051:0
Key234=269025074:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key135=0:0
Key136=0:0
Key137=0:0

File diff suppressed because it is too large Load Diff

View File

@ -83,6 +83,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -90,6 +92,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -102,42 +105,29 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key160=269025042:0
Key161=269025053:0
Key162=269025044:0
Key164=269025045:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[shift]
Key8=65406:0
@ -224,6 +214,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -231,6 +223,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -243,46 +236,29 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key156=65511:0
Key160=269025042:0
Key161=269025053:0
Key162=269025073:0
Key164=269025068:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[altgr]
Key8=65406:0
@ -293,7 +269,10 @@ Key12=162:162
Key13=165:165
Key14=8364:8364
Key15=163:163
Key16=0:0
Key17=189:189
Key18=65104:96
Key19=0:0
Key20=161:161
Key21=65104:96
Key22=65288:8
@ -366,6 +345,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -373,6 +354,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -385,48 +367,45 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key160=269025042:0
Key161=269025053:0
Key162=269025044:0
Key164=269025045:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[shiftaltgr]
Key8=65406:0
Key9=65307:27
Key10=37:37
Key11=0:0
Key12=0:0
Key13=0:0
Key14=0:0
Key15=65106:94
Key16=0:0
Key17=0:0
Key18=0:0
Key19=0:0
Key20=16789016:11800
Key21=0:0
Key22=65288:8
Key23=65056:0
Key24=65111:168
@ -449,9 +428,10 @@ Key40=198:198
Key41=201:201
Key42=73:73
Key43=208:208
Key44=0:0
Key45=222:222
Key46=209:209
Key47=16785054:7838
Key47=0:0
Key48=2730:8211
Key49=65107:126
Key50=65505:0
@ -496,6 +476,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -503,6 +485,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -515,46 +498,29 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key156=65511:0
Key160=269025042:0
Key161=269025053:0
Key162=269025073:0
Key164=269025068:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[capslock]
Key8=65406:0
@ -641,6 +607,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -648,6 +616,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -660,47 +629,43 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key160=269025042:0
Key161=269025053:0
Key162=269025044:0
Key164=269025045:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[capslockaltgr]
Key8=65406:0
Key9=65307:27
Key10=38:38
Key11=0:0
Key12=0:0
Key13=0:0
Key14=0:0
Key15=65106:94
Key16=0:0
Key17=0:0
Key18=0:0
Key19=0:0
Key20=16789016:11800
Key21=65104:96
Key22=65288:8
@ -773,6 +738,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -780,6 +747,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -792,42 +760,29 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65514:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=0:0
Key126=65469:61
Key127=0:0
Key128=0:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key160=269025042:0
Key161=269025053:0
Key162=269025044:0
Key164=269025045:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[shiftcapslock]
Key8=65406:0
@ -914,6 +869,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -921,6 +878,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -933,46 +891,29 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key156=65511:0
Key160=269025042:0
Key161=269025053:0
Key162=269025073:0
Key164=269025068:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0
[shiftcapslockaltgr]
Key8=65406:0
@ -983,8 +924,12 @@ Key12=162:162
Key13=165:165
Key14=8364:8364
Key15=163:163
Key16=0:0
Key17=189:189
Key18=65104:96
Key19=0:0
Key20=161:161
Key21=0:0
Key22=65288:8
Key23=65056:0
Key24=65111:168
@ -1007,9 +952,10 @@ Key40=230:230
Key41=233:233
Key42=105:105
Key43=240:240
Key44=0:0
Key45=254:254
Key46=241:241
Key47=16785054:7838
Key47=0:0
Key48=173:173
Key49=65107:126
Key50=65505:0
@ -1054,6 +1000,8 @@ Key88=65433:0
Key89=65435:0
Key90=65438:0
Key91=65439:0
Key92=0:0
Key93=0:0
Key94=65312:0
Key95=65480:0
Key96=65481:0
@ -1061,6 +1009,7 @@ Key97=65360:0
Key98=65362:0
Key99=65365:0
Key100=65361:0
Key101=0:0
Key102=65363:0
Key103=65367:0
Key104=65364:0
@ -1073,43 +1022,26 @@ Key110=65299:0
Key111=65377:0
Key112=65455:47
Key113=65512:0
Key114=0:0
Key115=65515:0
Key116=65516:0
Key117=65383:0
Key118=0:0
Key119=0:0
Key120=0:0
Key121=0:0
Key122=0:0
Key123=0:0
Key124=65027:0
Key125=65513:0
Key126=61:61
Key127=65515:0
Key128=65517:0
Key129=0:0
Key130=0:0
Key131=0:0
Key132=0:0
Key133=0:0
Key134=65454:46
Key144=269025046:0
Key150=269025071:0
Key153=269025047:0
Key156=65511:0
Key160=269025042:0
Key161=269025053:0
Key162=269025073:0
Key164=269025068:0
Key170=269025068:0
Key174=269025041:0
Key176=269025043:0
Key178=269025070:0
Key204=269025068:0
Key214=269025113:0
Key215=269025028:0
Key216=269025030:0
Key217=269025029:0
Key222=269025066:0
Key223=269025040:0
Key227=269025067:0
Key229=269025051:0
Key230=269025072:0
Key231=269025139:0
Key232=269025064:0
Key233=269025063:0
Key234=269025062:0
Key235=269025075:0
Key236=269025049:0
Key237=269025074:0
Key244=269025171:0
Key246=269025173:0
Key135=0:0
Key136=0:0

View File

@ -1,987 +0,0 @@
# Created by xrdp-genkeymap V0.10.80
# Key code set: evdev+aliases(qwerty)
# setxkbmap -rules evdev -model pc105 -layout us -variant dvp -option "" -option compose:102 -option caps:shift -option numpad:sg -option numpad:shift3 -option keypad:hex -option keypad:atm -option kpdl:semi -option lv3:ralt_alt
# Description: en-US
# Operating system: Ubuntu 22.04.4 LTS
[General]
version=2
[noshift]
01="65307:U+001B" # Escape
02="38:U+0026" # ampersand
03="91:U+005B" # bracketleft
04="123:U+007B" # braceleft
05="125:U+007D" # braceright
06="40:U+0028" # parenleft
07="61:U+003D" # equal
08="42:U+002A" # asterisk
09="41:U+0029" # parenright
0A="43:U+002B" # plus
0B="93:U+005D" # bracketright
0C="33:U+0021" # exclam
0D="35:U+0023" # numbersign
0E="65288:U+0008" # BackSpace
0F="65289:U+0009" # Tab
10="59:U+003B" # semicolon
11="44:U+002C" # comma
12="46:U+002E" # period
13="112:U+0070" # p
14="121:U+0079" # y
15="102:U+0066" # f
16="103:U+0067" # g
17="99:U+0063" # c
18="114:U+0072" # r
19="108:U+006C" # l
1A="47:U+002F" # slash
1B="64:U+0040" # at
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="97:U+0061" # a
1F="111:U+006F" # o
20="101:U+0065" # e
21="117:U+0075" # u
22="105:U+0069" # i
23="100:U+0064" # d
24="104:U+0068" # h
25="116:U+0074" # t
26="110:U+006E" # n
27="115:U+0073" # s
28="45:U+002D" # minus
29="36:U+0024" # dollar
2A="65505" # Shift_L
2B="92:U+005C" # backslash
2C="39:U+0027" # apostrophe
2D="113:U+0071" # q
2E="106:U+006A" # j
2F="107:U+006B" # k
30="120:U+0078" # x
31="98:U+0062" # b
32="109:U+006D" # m
33="119:U+0077" # w
34="118:U+0076" # v
35="122:U+007A" # z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65513" # Alt_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025044" # XF86AudioPlay
E0_24="269025045" # XF86AudioStop
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65514" # Alt_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[shift]
01="65307:U+001B" # Escape
02="37:U+0025" # percent
03="55:U+0037" # 7
04="53:U+0035" # 5
05="51:U+0033" # 3
06="49:U+0031" # 1
07="57:U+0039" # 9
08="48:U+0030" # 0
09="50:U+0032" # 2
0A="52:U+0034" # 4
0B="54:U+0036" # 6
0C="56:U+0038" # 8
0D="96:U+0060" # grave
0E="65288:U+0008" # BackSpace
0F="65056" # ISO_Left_Tab
10="58:U+003A" # colon
11="60:U+003C" # less
12="62:U+003E" # greater
13="80:U+0050" # P
14="89:U+0059" # Y
15="70:U+0046" # F
16="71:U+0047" # G
17="67:U+0043" # C
18="82:U+0052" # R
19="76:U+004C" # L
1A="63:U+003F" # question
1B="94:U+005E" # asciicircum
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="65:U+0041" # A
1F="79:U+004F" # O
20="69:U+0045" # E
21="85:U+0055" # U
22="73:U+0049" # I
23="68:U+0044" # D
24="72:U+0048" # H
25="84:U+0054" # T
26="78:U+004E" # N
27="83:U+0053" # S
28="95:U+005F" # underscore
29="126:U+007E" # asciitilde
2A="65505" # Shift_L
2B="124:U+007C" # bar
2C="34:U+0022" # quotedbl
2D="81:U+0051" # Q
2E="74:U+004A" # J
2F="75:U+004B" # K
30="88:U+0058" # X
31="66:U+0042" # B
32="77:U+004D" # M
33="87:U+0057" # W
34="86:U+0056" # V
35="90:U+005A" # Z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65511" # Meta_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025073" # XF86AudioPause
E0_24="269025068" # XF86Eject
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65512" # Meta_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[altgr]
01="65307:U+001B" # Escape
02="38:U+0026" # ampersand
03="164:U+00A4" # currency
04="162:U+00A2" # cent
05="165:U+00A5" # yen
06="8364:U+20AC" # EuroSign
07="163:U+00A3" # sterling
09="189:U+00BD" # onehalf
0C="161:U+00A1" # exclamdown
0D="65104:U+0060" # dead_grave
0E="65288:U+0008" # BackSpace
0F="65289:U+0009" # Tab
10="65111:U+00A8" # dead_diaeresis
11="171:U+00AB" # guillemotleft
12="187:U+00BB" # guillemotright
13="182:U+00B6" # paragraph
14="252:U+00FC" # udiaeresis
15="102:U+0066" # f
16="103:U+0067" # g
17="231:U+00E7" # ccedilla
18="174:U+00AE" # registered
19="108:U+006C" # l
1A="191:U+00BF" # questiondown
1B="65106:U+005E" # dead_circumflex
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="229:U+00E5" # aring
1F="248:U+00F8" # oslash
20="230:U+00E6" # ae
21="233:U+00E9" # eacute
22="105:U+0069" # i
23="240:U+00F0" # eth
24="65105:U+00B4" # dead_acute
25="254:U+00FE" # thorn
26="241:U+00F1" # ntilde
27="223:U+00DF" # ssharp
28="173:U+00AD" # hyphen
29="65107:U+007E" # dead_tilde
2A="65505" # Shift_L
2B="92:U+005C" # backslash
2C="65105:U+00B4" # dead_acute
2D="113:U+0071" # q
2E="106:U+006A" # j
2F="107:U+006B" # k
30="120:U+0078" # x
31="98:U+0062" # b
32="109:U+006D" # m
33="119:U+0077" # w
34="118:U+0076" # v
35="122:U+007A" # z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65513" # Alt_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025044" # XF86AudioPlay
E0_24="269025045" # XF86AudioStop
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65514" # Alt_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[shiftaltgr]
01="65307:U+001B" # Escape
02="37:U+0025" # percent
0C="16789016:U+2E18" # U2E18
0E="65288:U+0008" # BackSpace
0F="65056" # ISO_Left_Tab
10="65111:U+00A8" # dead_diaeresis
11="16785436:U+201C" # U201C
12="16785437:U+201D" # U201D
13="167:U+00A7" # section
14="220:U+00DC" # Udiaeresis
15="70:U+0046" # F
16="71:U+0047" # G
17="199:U+00C7" # Ccedilla
18="2761:U+2122" # trademark
19="76:U+004C" # L
1A="16785469:U+203D" # U203D
1B="65114:U+02C7" # dead_caron
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="197:U+00C5" # Aring
1F="216:U+00D8" # Oslash
20="198:U+00C6" # AE
21="201:U+00C9" # Eacute
22="73:U+0049" # I
23="208:U+00D0" # ETH
25="222:U+00DE" # THORN
26="209:U+00D1" # Ntilde
27="16785054:U+1E9E" # U1E9E
28="2730:U+2013" # endash
29="65107:U+007E" # dead_tilde
2A="65505" # Shift_L
2B="124:U+007C" # bar
2C="65113:U+02DD" # dead_doubleacute
2D="81:U+0051" # Q
2E="74:U+004A" # J
2F="75:U+004B" # K
30="88:U+0058" # X
31="66:U+0042" # B
32="77:U+004D" # M
33="87:U+0057" # W
34="86:U+0056" # V
35="90:U+005A" # Z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65511" # Meta_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025073" # XF86AudioPause
E0_24="269025068" # XF86Eject
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65512" # Meta_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[capslock]
01="65307:U+001B" # Escape
02="38:U+0026" # ampersand
03="55:U+0037" # 7
04="53:U+0035" # 5
05="51:U+0033" # 3
06="49:U+0031" # 1
07="57:U+0039" # 9
08="48:U+0030" # 0
09="50:U+0032" # 2
0A="52:U+0034" # 4
0B="54:U+0036" # 6
0C="56:U+0038" # 8
0D="35:U+0023" # numbersign
0E="65288:U+0008" # BackSpace
0F="65289:U+0009" # Tab
10="59:U+003B" # semicolon
11="44:U+002C" # comma
12="46:U+002E" # period
13="80:U+0050" # P
14="89:U+0059" # Y
15="70:U+0046" # F
16="71:U+0047" # G
17="67:U+0043" # C
18="82:U+0052" # R
19="76:U+004C" # L
1A="47:U+002F" # slash
1B="64:U+0040" # at
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="65:U+0041" # A
1F="79:U+004F" # O
20="69:U+0045" # E
21="85:U+0055" # U
22="73:U+0049" # I
23="68:U+0044" # D
24="72:U+0048" # H
25="84:U+0054" # T
26="78:U+004E" # N
27="83:U+0053" # S
28="95:U+005F" # underscore
29="36:U+0024" # dollar
2A="65505" # Shift_L
2B="92:U+005C" # backslash
2C="39:U+0027" # apostrophe
2D="81:U+0051" # Q
2E="74:U+004A" # J
2F="75:U+004B" # K
30="88:U+0058" # X
31="66:U+0042" # B
32="77:U+004D" # M
33="87:U+0057" # W
34="86:U+0056" # V
35="90:U+005A" # Z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65513" # Alt_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025044" # XF86AudioPlay
E0_24="269025045" # XF86AudioStop
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65514" # Alt_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[capslockaltgr]
01="65307:U+001B" # Escape
02="38:U+0026" # ampersand
0C="16789016:U+2E18" # U2E18
0D="65104:U+0060" # dead_grave
0E="65288:U+0008" # BackSpace
0F="65289:U+0009" # Tab
10="65111:U+00A8" # dead_diaeresis
11="171:U+00AB" # guillemotleft
12="187:U+00BB" # guillemotright
13="182:U+00B6" # paragraph
14="220:U+00DC" # Udiaeresis
15="70:U+0046" # F
16="71:U+0047" # G
17="199:U+00C7" # Ccedilla
18="174:U+00AE" # registered
19="76:U+004C" # L
1A="191:U+00BF" # questiondown
1B="65106:U+005E" # dead_circumflex
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="197:U+00C5" # Aring
1F="216:U+00D8" # Oslash
20="198:U+00C6" # AE
21="201:U+00C9" # Eacute
22="73:U+0049" # I
23="208:U+00D0" # ETH
24="65105:U+00B4" # dead_acute
25="222:U+00DE" # THORN
26="209:U+00D1" # Ntilde
27="16785054:U+1E9E" # U1E9E
28="2730:U+2013" # endash
29="65107:U+007E" # dead_tilde
2A="65505" # Shift_L
2B="92:U+005C" # backslash
2C="65105:U+00B4" # dead_acute
2D="81:U+0051" # Q
2E="74:U+004A" # J
2F="75:U+004B" # K
30="88:U+0058" # X
31="66:U+0042" # B
32="77:U+004D" # M
33="87:U+0057" # W
34="86:U+0056" # V
35="90:U+005A" # Z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65513" # Alt_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025044" # XF86AudioPlay
E0_24="269025045" # XF86AudioStop
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65514" # Alt_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[shiftcapslock]
01="65307:U+001B" # Escape
02="37:U+0025" # percent
03="91:U+005B" # bracketleft
04="123:U+007B" # braceleft
05="125:U+007D" # braceright
06="40:U+0028" # parenleft
07="61:U+003D" # equal
08="42:U+002A" # asterisk
09="41:U+0029" # parenright
0A="43:U+002B" # plus
0B="93:U+005D" # bracketright
0C="33:U+0021" # exclam
0D="96:U+0060" # grave
0E="65288:U+0008" # BackSpace
0F="65056" # ISO_Left_Tab
10="58:U+003A" # colon
11="60:U+003C" # less
12="62:U+003E" # greater
13="112:U+0070" # p
14="121:U+0079" # y
15="102:U+0066" # f
16="103:U+0067" # g
17="99:U+0063" # c
18="114:U+0072" # r
19="108:U+006C" # l
1A="63:U+003F" # question
1B="94:U+005E" # asciicircum
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="97:U+0061" # a
1F="111:U+006F" # o
20="101:U+0065" # e
21="117:U+0075" # u
22="105:U+0069" # i
23="100:U+0064" # d
24="104:U+0068" # h
25="116:U+0074" # t
26="110:U+006E" # n
27="115:U+0073" # s
28="45:U+002D" # minus
29="126:U+007E" # asciitilde
2A="65505" # Shift_L
2B="124:U+007C" # bar
2C="34:U+0022" # quotedbl
2D="113:U+0071" # q
2E="106:U+006A" # j
2F="107:U+006B" # k
30="120:U+0078" # x
31="98:U+0062" # b
32="109:U+006D" # m
33="119:U+0077" # w
34="118:U+0076" # v
35="122:U+007A" # z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65511" # Meta_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025073" # XF86AudioPause
E0_24="269025068" # XF86Eject
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65512" # Meta_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[shiftcapslockaltgr]
01="65307:U+001B" # Escape
02="37:U+0025" # percent
03="164:U+00A4" # currency
04="162:U+00A2" # cent
05="165:U+00A5" # yen
06="8364:U+20AC" # EuroSign
07="163:U+00A3" # sterling
09="189:U+00BD" # onehalf
0C="161:U+00A1" # exclamdown
0E="65288:U+0008" # BackSpace
0F="65056" # ISO_Left_Tab
10="65111:U+00A8" # dead_diaeresis
11="16785436:U+201C" # U201C
12="16785437:U+201D" # U201D
13="167:U+00A7" # section
14="252:U+00FC" # udiaeresis
15="102:U+0066" # f
16="103:U+0067" # g
17="231:U+00E7" # ccedilla
18="2761:U+2122" # trademark
19="108:U+006C" # l
1A="16785469:U+203D" # U203D
1B="65114:U+02C7" # dead_caron
1C="65293:U+000D" # Return
1D="65507" # Control_L
1E="229:U+00E5" # aring
1F="248:U+00F8" # oslash
20="230:U+00E6" # ae
21="233:U+00E9" # eacute
22="105:U+0069" # i
23="240:U+00F0" # eth
25="254:U+00FE" # thorn
26="241:U+00F1" # ntilde
27="223:U+00DF" # ssharp
28="173:U+00AD" # hyphen
29="65107:U+007E" # dead_tilde
2A="65505" # Shift_L
2B="124:U+007C" # bar
2C="65113:U+02DD" # dead_doubleacute
2D="113:U+0071" # q
2E="106:U+006A" # j
2F="107:U+006B" # k
30="120:U+0078" # x
31="98:U+0062" # b
32="109:U+006D" # m
33="119:U+0077" # w
34="118:U+0076" # v
35="122:U+007A" # z
36="65506" # Shift_R
37="65450:U+002A" # KP_Multiply
38="65511" # Meta_L
39="32:U+0020" # space
3A="65509" # Caps_Lock
3B="65470" # F1
3C="65471" # F2
3D="65472" # F3
3E="65473" # F4
3F="65474" # F5
40="65475" # F6
41="65476" # F7
42="65477" # F8
43="65478" # F9
44="65479" # F10
45="65407" # Num_Lock
46="65300" # Scroll_Lock
47="65429" # KP_Home
48="65431" # KP_Up
49="65434" # KP_Prior
4A="65453:U+002D" # KP_Subtract
4B="65430" # KP_Left
4C="65437" # KP_Begin
4D="65432" # KP_Right
4E="65451:U+002B" # KP_Add
4F="65436" # KP_End
50="65433" # KP_Down
51="65435" # KP_Next
52="65438" # KP_Insert
53="65439" # KP_Delete
56="65312" # Multi_key
57="65480" # F11
58="65481" # F12
70="65319" # Hiragana_Katakana
79="65315" # Henkan_Mode
7B="65314" # Muhenkan
7E="65454:U+002E" # KP_Decimal
E0_10="269025046" # XF86AudioPrev
E0_19="269025047" # XF86AudioNext
E0_1C="65421:U+000D" # KP_Enter
E0_1D="65508" # Control_R
E0_20="269025042" # XF86AudioMute
E0_21="269025053" # XF86Calculator
E0_22="269025073" # XF86AudioPause
E0_24="269025068" # XF86Eject
E0_2E="269025041" # XF86AudioLowerVolume
E0_30="269025043" # XF86AudioRaiseVolume
E0_32="269025048" # XF86HomePage
E0_35="65455:U+002F" # KP_Divide
E0_37="65377" # Print
E0_38="65512" # Meta_R
E0_47="65360" # Home
E0_48="65362" # Up
E0_49="65365" # Prior
E0_4B="65361" # Left
E0_4D="65363" # Right
E0_4F="65367" # End
E0_50="65364" # Down
E0_51="65366" # Next
E0_52="65379" # Insert
E0_53="65535:U+007F" # Delete
E0_5B="65515" # Super_L
E0_5C="65516" # Super_R
E0_5D="65383" # Menu
E0_65="269025051" # XF86Search
E0_66="269025072" # XF86Favorites
E0_6B="269025075" # XF86MyComputer
E0_6C="269025049" # XF86Mail
E1_1D="65299" # Pause
[numlock]
47="65457:U+0031" # KP_1
48="65458:U+0032" # KP_2
49="65459:U+0033" # KP_3
4A="45:U+002D" # minus
4B="65460:U+0034" # KP_4
4C="65461:U+0035" # KP_5
4D="65462:U+0036" # KP_6
4E="43:U+002B" # plus
4F="65463:U+0037" # KP_7
50="65464:U+0038" # KP_8
51="65465:U+0039" # KP_9
52="65456:U+0030" # KP_0
53="65454:U+002E" # KP_Decimal

View File

@ -1,3 +1,4 @@
#%PAM-1.0
auth include system-remote-login
-auth optional pam_gnome_keyring.so
-auth optional pam_kwallet5.so
@ -7,8 +8,5 @@ account include system-remote-login
password include system-remote-login
session include system-remote-login
# For wtmp/lastlog support uncomment one of the following lines:-
#session optional pam_lastlog.so quiet
#session optional pam_lastlog2.so silent
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start

View File

@ -9,10 +9,6 @@ auth required pam_env.so readenv=1 envfile=/etc/default/locale
@include common-password
# Set the loginuid process attribute.
session required pam_loginuid.so
# Update wtmp/lastlog
session optional pam_lastlog.so quiet
@include common-session
-session optional pam_gnome_keyring.so auto_start
-session optional pam_kwallet5.so auto_start

View File

@ -1,11 +1,5 @@
#%PAM-1.0
auth include password-auth
account include password-auth
# Set the loginuid process attribute.
session required pam_loginuid.so
# Update wtmp/lastlog
session optional pam_lastlog.so quiet
session include password-auth
password include password-auth

View File

@ -1,11 +1,5 @@
#%PAM-1.0
auth include common-auth
account include common-account
# Set the loginuid process attribute.
session required pam_loginuid.so
# Update lastlog database
session optional pam_lastlog2.so silent
session include common-session
password include common-password

View File

@ -2,8 +2,4 @@
auth include system-auth
account include system-auth
password include system-auth
# For wtmp/lastlog support uncomment one of the following lines:-
#session optional pam_lastlog.so quiet
#session optional pam_lastlog2.so silent
session include system-auth

View File

@ -48,7 +48,6 @@ command="%%PREFIX%%/sbin/xrdp"
allstart_cmd="xrdp_allstart"
allstop_cmd="xrdp_allstop"
allrestart_cmd="xrdp_allrestart"
stop_postcmd="xrdp_poststop"
xrdp_allstart()
{
@ -80,10 +79,4 @@ xrdp_allrestart()
run_rc_command "restart"
}
xrdp_poststop()
{
# If running with dropped privileges, xrdp can't delete its own
# PID file
rm -f %%LOCALSTATEDIR%%/run/xrdp.pid
}
run_rc_command "$1"

View File

@ -19,8 +19,6 @@ libipm_la_SOURCES = \
ercp.c \
scp.h \
scp.c \
scp_sync.h \
scp_sync.c \
scp_application_types.h \
scp_application_types.c

View File

@ -649,46 +649,6 @@ scp_get_list_sessions_response(
/*****************************************************************************/
int
scp_send_create_sockdir_request(struct trans *trans)
{
return libipm_msg_out_simple_send(
trans,
(int)E_SCP_CREATE_SOCKDIR_REQUEST,
NULL);
}
/*****************************************************************************/
int
scp_send_create_sockdir_response(struct trans *trans,
enum scp_create_sockdir_status status)
{
return libipm_msg_out_simple_send(
trans,
(int)E_SCP_CREATE_SOCKDIR_RESPONSE,
"i", status);
}
/*****************************************************************************/
int
scp_get_create_sockdir_response(struct trans *trans,
enum scp_create_sockdir_status *status)
{
int32_t i_status = 0;
int rv = libipm_msg_in_parse(trans, "i", &i_status);
if (rv == 0)
{
*status = (enum scp_create_sockdir_status)i_status;
}
return rv;
}
/*****************************************************************************/
int
scp_send_close_connection_request(struct trans *trans)
{

View File

@ -59,9 +59,6 @@ enum scp_msg_code
E_SCP_LIST_SESSIONS_REQUEST,
E_SCP_LIST_SESSIONS_RESPONSE,
E_SCP_CREATE_SOCKDIR_REQUEST,
E_SCP_CREATE_SOCKDIR_RESPONSE,
E_SCP_CLOSE_CONNECTION_REQUEST
// No E_SCP_CLOSE_CONNECTION_RESPONSE
};
@ -414,7 +411,7 @@ scp_get_create_session_response(struct trans *trans,
struct guid *guid);
/**
* Send an E_SCP_LIST_SESSIONS_REQUEST (SCP client)
* Send an E_LIST_SESSIONS_REQUEST (SCP client)
*
* @param trans SCP transport
* @return != 0 for error
@ -425,7 +422,7 @@ int
scp_send_list_sessions_request(struct trans *trans);
/**
* Send an E_SCP_LIST_SESSIONS_RESPONSE (SCP server)
* Send an E_LIST_SESSIONS_RESPONSE (SCP server)
*
* @param trans SCP transport
* @param status Status of request
@ -439,7 +436,7 @@ scp_send_list_sessions_response(
const struct scp_session_info *info);
/**
* Parse an incoming E_SCP_LIST_SESSIONS_RESPONSE (SCP client)
* Parse an incoming E_LIST_SESSIONS_RESPONSE (SCP client)
*
* @param trans SCP transport
* @param[out] status Status of request
@ -459,43 +456,6 @@ scp_get_list_sessions_response(
enum scp_list_sessions_status *status,
struct scp_session_info **info);
/**
* Send an E_SCP_CREATE_SOCKDIR_REQUEST (SCP client)
*
* @param trans SCP transport
* @return != 0 for error
*
* In some configurations, chansrv is not started by sesman. In this
* instance, it may be necessary for the unprivileged sesman process to
* ask sesman to create the sockets dir so sesman can populate it.
*
* Server replies with E_SCP_CREATE_SOCKDIR_RESPONSE
*/
int
scp_send_create_sockdir_request(struct trans *trans);
/**
* Send an E_SCP_CREATE_SOCKDIR_RESPONSE (SCP server)
*
* @param trans SCP transport
* @param status Status of request
* @return != 0 for error
*/
int
scp_send_create_sockdir_response(struct trans *trans,
enum scp_create_sockdir_status status);
/**
* Parse an incoming E_SCP_CREATE_SOCKDIR_RESPONSE (SCP client)
*
* @param trans SCP transport
* @param[out] status Status of request
* @return != 0 for error
*/
int
scp_get_create_sockdir_response(struct trans *trans,
enum scp_create_sockdir_status *status);
/**
* Send an E_CLOSE_CONNECTION_REQUEST (SCP client)
*

View File

@ -136,23 +136,5 @@ enum scp_list_sessions_status
E_SCP_LS_NO_MEMORY
};
/**
* Status of a create sockdir message
*/
enum scp_create_sockdir_status
{
E_SCP_CS_OK = 0,
/**
* Client hasn't logged in yet
*/
E_SCP_CS_NOT_LOGGED_IN = 100,
/**
* sesman failed to create the directory
*/
E_SCP_CS_OTHER_ERROR
};
#endif /* SCP_APPLICATION_TYPES_H */

View File

@ -1,210 +0,0 @@
/**
* xrdp: A Remote Desktop Protocol server.
*
* Copyright (C) Jay Sorg 2004-2022
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @file scp_sync.c
* @brief scp definitions (synchronous calls)
* @author Matt Burt
*
*/
#if defined(HAVE_CONFIG_H)
#include "config_ac.h"
#endif
//nclude "tools_common.h"
//nclude "trans.h"
#include "os_calls.h"
#include "log.h"
#include "scp.h"
#include "scp_sync.h"
/*****************************************************************************/
int
scp_sync_wait_specific(struct trans *t, enum scp_msg_code wait_msgno)
{
int rv = 0;
int available = 0;
while (rv == 0 && !available)
{
if ((rv = scp_msg_in_wait_available(t)) != 0)
{
LOG(LOG_LEVEL_ERROR, "Error waiting on sesman transport");
}
else
{
enum scp_msg_code reply_msgno = scp_msg_in_get_msgno(t);
available = 1;
if (reply_msgno != wait_msgno)
{
char buff[64];
scp_msgno_to_str(reply_msgno, buff, sizeof(buff));
LOG(LOG_LEVEL_WARNING,
"Ignoring unexpected message %s", buff);
scp_msg_in_reset(t);
available = 0;
}
}
}
return rv;
}
/*****************************************************************************/
int
scp_sync_uds_login_request(struct trans *t)
{
int rv = scp_send_uds_login_request(t);
if (rv == 0)
{
if ((rv = scp_sync_wait_specific(t, E_SCP_LOGIN_RESPONSE)) == 0)
{
enum scp_login_status login_result;
int server_closed;
rv = scp_get_login_response(t, &login_result, &server_closed, NULL);
if (rv == 0 && login_result != E_SCP_LOGIN_OK)
{
char msg[256];
scp_login_status_to_str(login_result, msg, sizeof(msg));
g_printf("Login failed; %s\n", msg);
rv = 1;
if (!server_closed)
{
(void)scp_send_close_connection_request(t);
}
}
scp_msg_in_reset(t); // Done with this message
}
}
return rv;
}
/*****************************************************************************/
struct list *
scp_sync_list_sessions_request(struct trans *t)
{
struct list *sessions = list_create();
if (sessions == NULL)
{
LOG(LOG_LEVEL_ERROR, "Out of memory for sessions list");
}
else
{
int end_of_list = 0;
enum scp_list_sessions_status status;
struct scp_session_info *p;
int rv = scp_send_list_sessions_request(t);
sessions->auto_free = 1;
while (rv == 0 && !end_of_list)
{
rv = scp_sync_wait_specific(t, E_SCP_LIST_SESSIONS_RESPONSE);
if (rv != 0)
{
break;
}
rv = scp_get_list_sessions_response(t, &status, &p);
if (rv != 0)
{
break;
}
switch (status)
{
case E_SCP_LS_SESSION_INFO:
if (!list_add_item(sessions, (tintptr)p))
{
g_free(p);
LOG(LOG_LEVEL_ERROR, "Out of memory for session item");
rv = 1;
}
break;
case E_SCP_LS_END_OF_LIST:
end_of_list = 1;
break;
default:
LOG(LOG_LEVEL_ERROR,
"Unexpected return code %d for session item", status);
rv = 1;
}
scp_msg_in_reset(t);
}
if (rv != 0)
{
list_delete(sessions);
sessions = NULL;
}
}
return sessions;
}
/*****************************************************************************/
int
scp_sync_create_sockdir_request(struct trans *t)
{
int rv = scp_send_create_sockdir_request(t);
if (rv == 0)
{
rv = scp_sync_wait_specific(t, E_SCP_CREATE_SOCKDIR_RESPONSE);
if (rv == 0)
{
enum scp_create_sockdir_status status;
rv = scp_get_create_sockdir_response(t, &status);
if (rv == 0)
{
switch (status)
{
case E_SCP_CS_OK:
break;
case E_SCP_CS_NOT_LOGGED_IN:
LOG(LOG_LEVEL_ERROR, "sesman reported not-logged-in");
rv = 1;
break;
case E_SCP_CS_OTHER_ERROR:
LOG(LOG_LEVEL_ERROR,
"sesman reported fail on create directory");
rv = 1;
break;
}
}
scp_msg_in_reset(t); // Done with this message
if (!rv)
{
(void)scp_send_close_connection_request(t);
}
}
}
return rv;
}

View File

@ -1,101 +0,0 @@
/**
* xrdp: A Remote Desktop Protocol server.
*
* Copyright (C) Jay Sorg 2004-2022, all xrdp contributors
*
* Licensed under the Apache License, Version 2.0 (the "License");
* you may not use this file except in compliance with the License.
* You may obtain a copy of the License at
*
* http://www.apache.org/licenses/LICENSE-2.0
*
* Unless required by applicable law or agreed to in writing, software
* distributed under the License is distributed on an "AS IS" BASIS,
* WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.
* See the License for the specific language governing permissions and
* limitations under the License.
*/
/**
*
* @file libipm/scp_sync.h
* @brief scp declarations (synchronous calls)
* @author Simone Fedele/ Matt Burt
*
* This module places a synchronous wrapper on top of some of the
* calls in scp.h. It is intended to be used for simple SCP applications
* which do not need to handle SCP messages along with other messages
* using the xrdp transport mechanism.
*
*/
#ifndef SCP_SYNC_H
#define SCP_SYNC_H
#include <scp.h>
/**
* Waits on a single transport for a specific SCP message to be available for
* parsing
*
* @param trans libipm transport
* @param wait_msgno Message number to wait for
* @return != 0 for error
*
* This is a convenience function, used to implement synchronous calls.
*
* While the call is active, data-in callbacks for the transport are
* disabled.
*
* Unexpected messages are ignored and logged.
*
* Only use this call if you have nothing to do until a message
* arrives on the transport.
* - If you have other transports to service, use
* scp_msg_in_check_available()
* - If you can process any incoming message, use
* scp_msg_in_wait_available()
*/
int
scp_sync_wait_specific(struct trans *t, enum scp_msg_code wait_msgno);
/**
* Send UDS login request to sesman and wait for answer
*
* @param t SCP transport
* @return 0 for successful login
*
* If non-zero is returned, the scp_connection has been closed (if
* appropriate) and simply remains to be deleted.
*/
int
scp_sync_uds_login_request(struct trans *t);
/**
* Send list sessions request to sesman and wait for answer(s)
*
* @param t SCP transport
* @return list of sessions
*
* If NULL is returned, the scp_connection has been closed (if
* appropriate) and simply remains to be deleted.
*
* If NULL is not returned, the caller must call list_delete() to
* free it.
*/
struct list *
scp_sync_list_sessions_request(struct trans *t);
/**
* Send sockdir creation request to sesman and wait for answer
*
* @param t SCP transport
* @return 0 for successful response from sesman
*
* If non-zero is returned, the scp_connection has been closed (if
* appropriate) and simply remains to be deleted.
*/
int
scp_sync_create_sockdir_request(struct trans *t);
#endif /* SCP_SYNC_H */

@ -1 +1 @@
Subproject commit 379b8fbf40f309829364bf3414d721f9ba77766d
Subproject commit 2255b3865e7b89afcbd2c310241d54dfa787b63e

@ -1 +1 @@
Subproject commit 26e40b29d05877e926f977c4b40b2a44bbb07216
Subproject commit c6b41afa6986d5e6df18778a342b407cae40e1b5

View File

@ -422,33 +422,12 @@ xrdp_caps_process_input(struct xrdp_rdp *self, struct stream *s,
{
self->client_info.use_fast_path &= ~2;
}
// We always advertise Unicode support, so if the client supports it too,
// we can use it.
//
// If Unicode support is already active, the CAPSTYPE_INPUT
// PDU has been received as part of a Deactivation-Reactivation sequence.
// In this case, ignore the flag.
if (self->client_info.unicode_input_support != UIS_ACTIVE)
{
if ((inputFlags & INPUT_FLAG_UNICODE) != 0)
{
self->client_info.unicode_input_support = UIS_SUPPORTED;
LOG(LOG_LEVEL_INFO, "Client supports Unicode input");
}
else
{
self->client_info.unicode_input_support = UIS_UNSUPPORTED;
LOG(LOG_LEVEL_INFO, "Client does not support Unicode input");
}
}
return 0;
}
/*****************************************************************************/
/* get the type of client brush cache */
static int
int
xrdp_caps_process_brushcache(struct xrdp_rdp *self, struct stream *s,
int len)
{
@ -492,7 +471,7 @@ xrdp_caps_process_glyphcache(struct xrdp_rdp *self, struct stream *s,
}
/*****************************************************************************/
static int
int
xrdp_caps_process_offscreen_bmpcache(struct xrdp_rdp *self, struct stream *s,
int len)
{
@ -510,7 +489,7 @@ xrdp_caps_process_offscreen_bmpcache(struct xrdp_rdp *self, struct stream *s,
in_uint16_le(s, i32);
self->client_info.offscreen_cache_entries = i32;
LOG(LOG_LEVEL_INFO, "xrdp_process_offscreen_bmpcache: support level %d "
"cache size %d bytes cache entries %d",
"cache size %d MB cache entries %d",
self->client_info.offscreen_support_level,
self->client_info.offscreen_cache_size,
self->client_info.offscreen_cache_entries);
@ -518,7 +497,7 @@ xrdp_caps_process_offscreen_bmpcache(struct xrdp_rdp *self, struct stream *s,
}
/*****************************************************************************/
static int
int
xrdp_caps_process_rail(struct xrdp_rdp *self, struct stream *s, int len)
{
int i32;

Some files were not shown because too many files have changed in this diff Show More