mirror of https://github.com/neutrinolabs/xrdp
Merge branch 'devel'
This commit is contained in:
commit
32f172853f
|
@ -1,3 +1,6 @@
|
|||
[submodule "librfxcodec"]
|
||||
path = librfxcodec
|
||||
url = git://github.com/neutrinolabs/librfxcodec
|
||||
[submodule "xorgxrdp"]
|
||||
path = xorgxrdp
|
||||
url = git://github.com/neutrinolabs/xorgxrdp
|
||||
|
|
|
@ -126,8 +126,12 @@ g_mk_temp_dir(const char *app_name)
|
|||
{
|
||||
if (!g_create_dir("/tmp/.xrdp"))
|
||||
{
|
||||
printf("g_mk_temp_dir: g_create_dir failed\n");
|
||||
return 1;
|
||||
/* if failed, still check if it got created by someone else */
|
||||
if (!g_directory_exist("/tmp/.xrdp"))
|
||||
{
|
||||
printf("g_mk_temp_dir: g_create_dir failed\n");
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
|
||||
g_chmod_hex("/tmp/.xrdp", 0x1777);
|
||||
|
@ -3172,6 +3176,158 @@ g_time3(void)
|
|||
#endif
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/******************************************************************************/
|
||||
struct bmp_magic
|
||||
{
|
||||
char magic[2];
|
||||
};
|
||||
|
||||
struct bmp_hdr
|
||||
{
|
||||
unsigned int size; /* file size in bytes */
|
||||
unsigned short reserved1;
|
||||
unsigned short reserved2;
|
||||
unsigned int offset; /* offset to image data, in bytes */
|
||||
};
|
||||
|
||||
struct dib_hdr
|
||||
{
|
||||
unsigned int hdr_size;
|
||||
int width;
|
||||
int height;
|
||||
unsigned short nplanes;
|
||||
unsigned short bpp;
|
||||
unsigned int compress_type;
|
||||
unsigned int image_size;
|
||||
int hres;
|
||||
int vres;
|
||||
unsigned int ncolors;
|
||||
unsigned int nimpcolors;
|
||||
};
|
||||
|
||||
/******************************************************************************/
|
||||
int APP_CC
|
||||
g_save_to_bmp(const char* filename, char* data, int stride_bytes,
|
||||
int width, int height, int depth, int bits_per_pixel)
|
||||
{
|
||||
struct bmp_magic bm;
|
||||
struct bmp_hdr bh;
|
||||
struct dib_hdr dh;
|
||||
int bytes;
|
||||
int fd;
|
||||
int index;
|
||||
int i1;
|
||||
int pixel;
|
||||
int extra;
|
||||
int file_stride_bytes;
|
||||
char* line;
|
||||
char* line_ptr;
|
||||
|
||||
if ((depth == 24) && (bits_per_pixel == 32))
|
||||
{
|
||||
}
|
||||
else if ((depth == 32) && (bits_per_pixel == 32))
|
||||
{
|
||||
}
|
||||
else
|
||||
{
|
||||
g_writeln("g_save_to_bpp: unimp");
|
||||
return 1;
|
||||
}
|
||||
bm.magic[0] = 'B';
|
||||
bm.magic[1] = 'M';
|
||||
|
||||
/* scan lines are 32 bit aligned, bottom 2 bits must be zero */
|
||||
file_stride_bytes = width * ((depth + 7) / 8);
|
||||
extra = file_stride_bytes;
|
||||
extra = extra & 3;
|
||||
extra = (4 - extra) & 3;
|
||||
file_stride_bytes += extra;
|
||||
|
||||
bh.size = sizeof(bm) + sizeof(bh) + sizeof(dh) + height * file_stride_bytes;
|
||||
bh.reserved1 = 0;
|
||||
bh.reserved2 = 0;
|
||||
bh.offset = sizeof(bm) + sizeof(bh) + sizeof(dh);
|
||||
|
||||
dh.hdr_size = sizeof(dh);
|
||||
dh.width = width;
|
||||
dh.height = height;
|
||||
dh.nplanes = 1;
|
||||
dh.bpp = depth;
|
||||
dh.compress_type = 0;
|
||||
dh.image_size = height * file_stride_bytes;
|
||||
dh.hres = 0xb13;
|
||||
dh.vres = 0xb13;
|
||||
dh.ncolors = 0;
|
||||
dh.nimpcolors = 0;
|
||||
|
||||
fd = open(filename, O_RDWR | O_CREAT | O_TRUNC, S_IRUSR | S_IWUSR);
|
||||
if (fd == -1)
|
||||
{
|
||||
g_writeln("g_save_to_bpp: open error");
|
||||
return 1;
|
||||
}
|
||||
bytes = write(fd, &bm, sizeof(bm));
|
||||
if (bytes != sizeof(bm))
|
||||
{
|
||||
g_writeln("g_save_to_bpp: write error");
|
||||
}
|
||||
bytes = write(fd, &bh, sizeof(bh));
|
||||
if (bytes != sizeof(bh))
|
||||
{
|
||||
g_writeln("g_save_to_bpp: write error");
|
||||
}
|
||||
bytes = write(fd, &dh, sizeof(dh));
|
||||
if (bytes != sizeof(dh))
|
||||
{
|
||||
g_writeln("g_save_to_bpp: write error");
|
||||
}
|
||||
data += stride_bytes * height;
|
||||
data -= stride_bytes;
|
||||
if ((depth == 24) && (bits_per_pixel == 32))
|
||||
{
|
||||
line = malloc(file_stride_bytes);
|
||||
memset(line, 0, file_stride_bytes);
|
||||
for (index = 0; index < height; index++)
|
||||
{
|
||||
line_ptr = line;
|
||||
for (i1 = 0; i1 < width; i1++)
|
||||
{
|
||||
pixel = ((int*)data)[i1];
|
||||
*(line_ptr++) = (pixel >> 0) & 0xff;
|
||||
*(line_ptr++) = (pixel >> 8) & 0xff;
|
||||
*(line_ptr++) = (pixel >> 16) & 0xff;
|
||||
}
|
||||
bytes = write(fd, line, file_stride_bytes);
|
||||
if (bytes != file_stride_bytes)
|
||||
{
|
||||
g_writeln("g_save_to_bpp: write error");
|
||||
}
|
||||
data -= stride_bytes;
|
||||
}
|
||||
free(line);
|
||||
}
|
||||
else if (depth == bits_per_pixel)
|
||||
{
|
||||
for (index = 0; index < height; index++)
|
||||
{
|
||||
bytes = write(fd, data, width * (bits_per_pixel / 8));
|
||||
if (bytes != width * (bits_per_pixel / 8))
|
||||
{
|
||||
g_writeln("g_save_to_bpp: write error");
|
||||
}
|
||||
data -= stride_bytes;
|
||||
}
|
||||
}
|
||||
else
|
||||
{
|
||||
g_writeln("g_save_to_bpp: unimp");
|
||||
}
|
||||
close(fd);
|
||||
return 0;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
/* returns boolean */
|
||||
int APP_CC
|
||||
|
|
|
@ -161,6 +161,8 @@ int APP_CC g_check_user_in_group(const char* username, int gid, int* ok);
|
|||
int APP_CC g_time1(void);
|
||||
int APP_CC g_time2(void);
|
||||
int APP_CC g_time3(void);
|
||||
int APP_CC g_save_to_bmp(const char* filename, char* data, int stride_bytes,
|
||||
int width, int height, int depth, int bits_per_pixel);
|
||||
int APP_CC g_text2bool(const char *s);
|
||||
void * APP_CC g_shmat(int shmid);
|
||||
int APP_CC g_shmdt(const void *shmaddr);
|
||||
|
|
|
@ -457,6 +457,7 @@
|
|||
Extended order support flags. */
|
||||
#define XR_ORDERFLAGS_EX_CACHE_BITMAP_REV3_SUPPORT 0x0002
|
||||
#define XR_ORDERFLAGS_EX_ALTSEC_FRAME_MARKER_SUPPORT 0x0004
|
||||
#define XR_ORDERFLAGS_EX_OFFSCREEN_COMPOSITE_SUPPORT 0x0100
|
||||
|
||||
/* drawable types */
|
||||
#define WND_TYPE_BITMAP 0
|
||||
|
@ -548,10 +549,14 @@
|
|||
#define XR_CODEC_GUID_REMOTEFX \
|
||||
"\x12\x2F\x77\x76\x72\xBD\x63\x44\xAF\xB3\xB7\x3C\x9C\x6F\x78\x86"
|
||||
|
||||
/* CODEC_GUID_JPEG 0x430C9EED1BAF4CE6869ACB8B37B66237*/
|
||||
/* CODEC_GUID_JPEG 0x1BAF4CE6 9EED 430C 869ACB8B37B66237 */
|
||||
#define XR_CODEC_GUID_JPEG \
|
||||
"\xE6\x4C\xAF\x1B\xED\x9E\x0C\x43\x86\x9A\xCB\x8B\x37\xB6\x62\x37"
|
||||
|
||||
/* CODEC_GUID_PNG 0xOE0C858D 28E0 45DB ADAA0F83E57CC560 */
|
||||
#define XR_CODEC_GUID_PNG \
|
||||
"\x8D\x85\x0C\x0E\xE0\x28\xDB\x45\xAD\xAA\x0F\x83\xE5\x7C\xC5\x60"
|
||||
|
||||
#define RDP_CAPSET_SURFCMDS 0x1c
|
||||
#define RDP_CAPLEN_SURFCMDS 0x0c
|
||||
#define RDP_CAPSET_BMPCODECS 0x1d
|
||||
|
|
66
configure.ac
66
configure.ac
|
@ -7,6 +7,7 @@ AM_INIT_AUTOMAKE([1.6 foreign])
|
|||
AC_PROG_CC
|
||||
AC_C_CONST
|
||||
AC_PROG_LIBTOOL
|
||||
PKG_PROG_PKG_CONFIG
|
||||
AC_ARG_WITH([systemdsystemunitdir],
|
||||
AS_HELP_STRING([--with-systemdsystemunitdir=DIR], [Directory for systemd service files]),
|
||||
[], [with_systemdsystemunitdir=$($PKG_CONFIG --variable=systemdsystemunitdir systemd)])
|
||||
|
@ -15,46 +16,55 @@ if test "x$with_systemdsystemunitdir" != xno; then
|
|||
fi
|
||||
AM_CONDITIONAL(HAVE_SYSTEMD, [test -n "$with_systemdsystemunitdir" -a "x$with_systemdsystemunitdir" != xno ])
|
||||
|
||||
AC_ARG_ENABLE(pam, AS_HELP_STRING([--disable-pam],
|
||||
[Build PAM support (default: yes)]),
|
||||
[], [enable_pam=yes])
|
||||
AC_ARG_ENABLE(nopam, AS_HELP_STRING([--enable-nopam],
|
||||
[Build no PAM support (default: no)]),
|
||||
[nopam=true], [nopam=false])
|
||||
AM_CONDITIONAL(SESMAN_NOPAM, [test x$nopam = xtrue])
|
||||
[Build no PAM support (default: no, deprecated)]),
|
||||
[
|
||||
if test "x$enable_nopam" = "xyes"
|
||||
then
|
||||
enable_pam=no
|
||||
AC_MSG_WARN([--enable-nopam option is deprecated. Please use --disable-pam instead.])
|
||||
fi
|
||||
])
|
||||
AM_CONDITIONAL(SESMAN_NOPAM, [test x$enable_pam != xyes])
|
||||
AC_ARG_ENABLE(kerberos, AS_HELP_STRING([--enable-kerberos],
|
||||
[Build kerberos support (default: no)]),
|
||||
[kerberos=true], [kerberos=false])
|
||||
AM_CONDITIONAL(SESMAN_KERBEROS, [test x$kerberos = xtrue])
|
||||
[], [enable_kerberos=no])
|
||||
AM_CONDITIONAL(SESMAN_KERBEROS, [test x$enable_kerberos = xyes])
|
||||
AC_ARG_ENABLE(pamuserpass, AS_HELP_STRING([--enable-pamuserpass],
|
||||
[Build pam userpass support (default: no)]),
|
||||
[pamuserpass=true], [pamuserpass=false])
|
||||
AM_CONDITIONAL(SESMAN_PAMUSERPASS, [test x$pamuserpass = xtrue])
|
||||
[], [enable_pamuserpass=no])
|
||||
AM_CONDITIONAL(SESMAN_PAMUSERPASS, [test x$enable_pamuserpass = xyes])
|
||||
AC_ARG_ENABLE(xrdpdebug, AS_HELP_STRING([--enable-xrdpdebug],
|
||||
[Build debug (default: no)]),
|
||||
[xrdpdebug=true], [xrdpdebug=false])
|
||||
AM_CONDITIONAL(XRDP_DEBUG, [test x$xrdpdebug = xtrue])
|
||||
[], [enable_xrdpdebug=no])
|
||||
AM_CONDITIONAL(XRDP_DEBUG, [test x$enable_xrdpdebug = xyes])
|
||||
AC_ARG_ENABLE(neutrinordp, AS_HELP_STRING([--enable-neutrinordp],
|
||||
[Build neutrinordp module (default: no)]),
|
||||
[neutrinordp=true], [neutrinordp=false])
|
||||
AM_CONDITIONAL(XRDP_NEUTRINORDP, [test x$neutrinordp = xtrue])
|
||||
[], [enable_neutrinordp=no])
|
||||
AM_CONDITIONAL(XRDP_NEUTRINORDP, [test x$enable_neutrinordp = xyes])
|
||||
AC_ARG_ENABLE(jpeg, AS_HELP_STRING([--enable-jpeg],
|
||||
[Build jpeg module (default: no)]),
|
||||
[jpeg=true], [jpeg=false])
|
||||
AM_CONDITIONAL(XRDP_JPEG, [test x$jpeg = xtrue])
|
||||
[], [enable_jpeg=no])
|
||||
AM_CONDITIONAL(XRDP_JPEG, [test x$enable_jpeg = xyes])
|
||||
AC_ARG_ENABLE(tjpeg, AS_HELP_STRING([--enable-tjpeg],
|
||||
[Build turbo jpeg module (default: no)]),
|
||||
[tjpeg=true], [tjpeg=false])
|
||||
AM_CONDITIONAL(XRDP_TJPEG, [test x$tjpeg = xtrue])
|
||||
[], [enable_tjpeg=no])
|
||||
AM_CONDITIONAL(XRDP_TJPEG, [test x$enable_tjpeg = xyes])
|
||||
AC_ARG_ENABLE(fuse, AS_HELP_STRING([--enable-fuse],
|
||||
[Build fuse(clipboard file / drive redir) (default: no)]),
|
||||
[fuse=true], [fuse=false])
|
||||
AM_CONDITIONAL(XRDP_FUSE, [test x$fuse = xtrue])
|
||||
[], [enable_fuse=no])
|
||||
AM_CONDITIONAL(XRDP_FUSE, [test x$enable_fuse = xyes])
|
||||
AC_ARG_ENABLE(xrdpvr, AS_HELP_STRING([--enable-xrdpvr],
|
||||
[Build xrdpvr module (default: no)]),
|
||||
[xrdpvr=true], [xrdpvr=false])
|
||||
AM_CONDITIONAL(XRDP_XRDPVR, [test x$xrdpvr = xtrue])
|
||||
[], [enable_xrdpvr=no])
|
||||
AM_CONDITIONAL(XRDP_XRDPVR, [test x$enable_xrdpvr = xyes])
|
||||
AC_ARG_ENABLE(rfxcodec, AS_HELP_STRING([--enable-rfxcodec],
|
||||
[Build using librfxcodec (default: no)]),
|
||||
[rfxcodec=true], [rfxcodec=false])
|
||||
AM_CONDITIONAL(XRDP_RFXCODEC, [test x$rfxcodec = xtrue])
|
||||
[], [enable_rfxcodec=no])
|
||||
AM_CONDITIONAL(XRDP_RFXCODEC, [test x$enable_rfxcodec = xyes])
|
||||
|
||||
AM_CONDITIONAL(GOT_PREFIX, test "x${prefix}" != "xNONE"])
|
||||
|
||||
|
@ -64,9 +74,9 @@ AC_CHECK_HEADER([openssl/rc4.h], [],
|
|||
[#include <stdlib.h>])
|
||||
|
||||
# checking if pam should be autodetected.
|
||||
if test -z "$enable_nopam"
|
||||
if test "x$enable_pam" = "xyes"
|
||||
then
|
||||
if test -z "$enable_kerberos"
|
||||
if test "x$enable_kerberos" != "xyes"
|
||||
then
|
||||
AC_CHECK_HEADER([security/pam_appl.h], [],
|
||||
[AC_MSG_ERROR([please install libpam0g-dev or pam-devel])])
|
||||
|
@ -78,7 +88,7 @@ AC_CHECK_MEMBER([struct in6_addr.s6_addr],
|
|||
[AC_DEFINE(NO_ARPA_INET_H_IP6, 1, [for IPv6])],
|
||||
[#include <arpa/inet.h>])
|
||||
|
||||
if test "x$enable_nopam" = "xyes"
|
||||
if test "x$enable_pam" != "xyes"
|
||||
then
|
||||
AC_DEFINE([USE_NOPAM],1,[Disable PAM])
|
||||
fi
|
||||
|
@ -86,19 +96,19 @@ fi
|
|||
AS_IF( [test "x$enable_neutrinordp" = "xyes"] , [PKG_CHECK_MODULES(FREERDP, freerdp >= 1.0.0)] )
|
||||
|
||||
# checking for libjpeg
|
||||
if ! test -z "$enable_jpeg"
|
||||
if test "x$enable_jpeg" = "xyes"
|
||||
then
|
||||
AC_CHECK_HEADER([jpeglib.h], [],
|
||||
[AC_MSG_ERROR([please install libjpeg-dev or libjpeg-devel])])
|
||||
fi
|
||||
|
||||
if ! test -z "$enable_xrdpdebug"
|
||||
if test "x$enable_xrdpdebug" = "xyes"
|
||||
then
|
||||
CFLAGS="-g -O0"
|
||||
fi
|
||||
|
||||
# checking for fuse
|
||||
if ! test -z "$enable_fuse"
|
||||
if test "x$enable_fuse" = "xyes"
|
||||
then
|
||||
AC_CHECK_HEADER([fuse.h], [],
|
||||
[AC_MSG_ERROR([please install libfuse-dev or fuse-devel])],
|
||||
|
@ -106,7 +116,7 @@ then
|
|||
fi
|
||||
|
||||
# checking for TurboJPEG
|
||||
if ! test -z "$enable_tjpeg"
|
||||
if test "x$enable_tjpeg" = "xyes"
|
||||
then
|
||||
if test ! -z "$TURBOJPEG_PATH"
|
||||
then
|
||||
|
|
|
@ -2,7 +2,7 @@
|
|||
bin_PROGRAMS = \
|
||||
xrdp-genkeymap
|
||||
|
||||
xrdp_genkeymap_SOURCES = genkeymap.c
|
||||
xrdp_genkeymap_SOURCES = genkeymap.c evdev-map.c
|
||||
|
||||
xrdp_genkeymap_LDADD = \
|
||||
-L/usr/X11R6/lib \
|
||||
|
|
|
@ -19,6 +19,10 @@ setxkbmap -model pc104 -layout de
|
|||
setxkbmap -model pc104 -layout it
|
||||
./xrdp-genkeymap ../instfiles/km-0410.ini
|
||||
|
||||
# Polish 'pl' 0x0415
|
||||
setxkbmap -model pc104 -layout pl
|
||||
./xrdp-genkeymap ../instfiles/km-0415.ini
|
||||
|
||||
# Russia 'ru' 0x0419
|
||||
setxkbmap -model pc104 -layout ru
|
||||
./xrdp-genkeymap ../instfiles/km-0419.ini
|
||||
|
|
|
@ -0,0 +1,156 @@
|
|||
/* -*- 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
|
||||
*/
|
||||
|
||||
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
|
||||
};
|
|
@ -37,16 +37,19 @@
|
|||
#include <string.h>
|
||||
#include <X11/Xlib.h>
|
||||
#include <X11/Xutil.h>
|
||||
#include <X11/XKBlib.h>
|
||||
#include <locale.h>
|
||||
|
||||
extern int xfree86_to_evdev[137-8];
|
||||
|
||||
int main(int argc, char **argv)
|
||||
{
|
||||
const char *programname;
|
||||
char text[256];
|
||||
char *displayname = NULL;
|
||||
char *outfname;
|
||||
char *sections[6] = {"noshift", "shift", "altgr", "shiftaltgr", "capslock", "shiftcapslock"};
|
||||
int states[6] = {0, 1, 0x80, 0x81, 2, 3};
|
||||
char *sections[8] = {"noshift", "shift", "altgr", "shiftaltgr", "capslock", "capslockaltgr", "shiftcapslock", "shiftcapslockaltgr"};
|
||||
int states[8] = {0, 1, 0x80, 0x81, 2, 0x82, 3, 0x83};
|
||||
int i;
|
||||
int idx;
|
||||
int char_count;
|
||||
|
@ -57,6 +60,9 @@ int main(int argc, char **argv)
|
|||
FILE *outf;
|
||||
XKeyPressedEvent e;
|
||||
wchar_t wtext[256];
|
||||
XkbDescPtr kbdesc;
|
||||
char *symatom;
|
||||
int is_evdev;
|
||||
|
||||
setlocale(LC_CTYPE, "");
|
||||
programname = argv[0];
|
||||
|
@ -78,6 +84,30 @@ int main(int argc, char **argv)
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* check whether evdev is used */
|
||||
kbdesc = XkbAllocKeyboard();
|
||||
if (!kbdesc)
|
||||
{
|
||||
fprintf(stderr, "%s: unable to allocate keyboard desc\n",
|
||||
programname);
|
||||
XCloseDisplay(dpy);
|
||||
return 1;
|
||||
}
|
||||
|
||||
if (XkbGetNames(dpy, XkbKeycodesNameMask, kbdesc) != Success)
|
||||
{
|
||||
fprintf(stderr, "%s: unable to obtain keycode name for keyboard\n",
|
||||
programname);
|
||||
XkbFreeKeyboard(kbdesc, 0, True);
|
||||
XCloseDisplay(dpy);
|
||||
return 1;
|
||||
}
|
||||
|
||||
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)
|
||||
|
@ -94,14 +124,17 @@ int main(int argc, char **argv)
|
|||
e.display = dpy;
|
||||
e.same_screen = True;
|
||||
|
||||
for (idx = 0; idx < 6; idx++) /* Sections and states */
|
||||
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 */
|
||||
{
|
||||
e.keycode = i;
|
||||
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);
|
||||
|
@ -115,7 +148,7 @@ int main(int argc, char **argv)
|
|||
fprintf(outf, "Key%d=%d:%d\n", i, (int) ks, unicode);
|
||||
}
|
||||
|
||||
if (idx != 4)
|
||||
if (idx != 7)
|
||||
{
|
||||
fprintf(outf, "\n");
|
||||
}
|
||||
|
|
|
@ -7,9 +7,10 @@ km-xxxx.ini
|
|||
|
||||
where the xxxx is replaced by the hex number of the layout of interest.
|
||||
|
||||
The files have 6 sections;
|
||||
The files have 8 sections;
|
||||
|
||||
[noshift], [shift], [altgr], [shiftaltgr], [capslock], [shiftcapslock]
|
||||
[noshift], [shift], [altgr], [shiftaltgr], [capslock], [capslockaltgr],
|
||||
[shiftcapslock], [shiftcapslockaltgr]
|
||||
|
||||
In each section there are multiple lines for each key.
|
||||
|
||||
|
|
|
@ -22,6 +22,7 @@ startscript_DATA = \
|
|||
km-0409.ini \
|
||||
km-040c.ini \
|
||||
km-0410.ini \
|
||||
km-0415.ini \
|
||||
km-0419.ini \
|
||||
km-041d.ini \
|
||||
km-0816.ini
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[noshift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -83,8 +83,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -105,15 +105,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -131,7 +131,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[shift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -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
|
||||
|
@ -200,7 +200,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -215,8 +215,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65452:44
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -237,15 +237,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -263,7 +263,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[altgr]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=185:185
|
||||
Key11=178:178
|
||||
|
@ -290,33 +290,33 @@ Key31=2301:8594
|
|||
Key32=248:248
|
||||
Key33=254:254
|
||||
Key34=65111:168
|
||||
Key35=65107:126
|
||||
Key35=126:126
|
||||
Key36=65293:13
|
||||
Key37=65507:0
|
||||
Key38=230:230
|
||||
Key39=223:223
|
||||
Key39=16777599:383
|
||||
Key40=240:240
|
||||
Key41=496:273
|
||||
Key42=959:331
|
||||
Key43=689:295
|
||||
Key44=106:106
|
||||
Key44=65120:0
|
||||
Key45=930:312
|
||||
Key46=435:322
|
||||
Key47=65113:733
|
||||
Key48=65106:94
|
||||
Key49=172:172
|
||||
Key49=16785458:8242
|
||||
Key50=65505:0
|
||||
Key51=65104:96
|
||||
Key52=171:171
|
||||
Key53=187:187
|
||||
Key51=2769:8217
|
||||
Key52=187:187
|
||||
Key53=171:171
|
||||
Key54=162:162
|
||||
Key55=2770:8220
|
||||
Key56=2771:8221
|
||||
Key57=110:110
|
||||
Key55=2814:8222
|
||||
Key56=2770:8220
|
||||
Key57=2771:8221
|
||||
Key58=181:181
|
||||
Key59=2211:0
|
||||
Key60=183:183
|
||||
Key61=65120:0
|
||||
Key59=183:183
|
||||
Key60=16785446:8230
|
||||
Key61=2730:8211
|
||||
Key62=65506:0
|
||||
Key63=65450:42
|
||||
Key64=65513:0
|
||||
|
@ -347,8 +347,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=124:124
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -366,18 +366,18 @@ Key107=65535:127
|
|||
Key108=65421:13
|
||||
Key109=65508:0
|
||||
Key110=65299:0
|
||||
Key111=0:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -394,8 +394,140 @@ Key135=0:0
|
|||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftaltgr]
|
||||
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=419:321
|
||||
Key26=8364:8364
|
||||
Key27=174:174
|
||||
Key28=940:358
|
||||
Key29=165:165
|
||||
Key30=2300:8593
|
||||
Key31=697:305
|
||||
Key32=216:216
|
||||
Key33=222:222
|
||||
Key34=65112:176
|
||||
Key35=175:175
|
||||
Key36=65293:13
|
||||
Key37=65507:0
|
||||
Key38=198:198
|
||||
Key39=16785054:7838
|
||||
Key40=208:208
|
||||
Key41=170:170
|
||||
Key42=957:330
|
||||
Key43=673:294
|
||||
Key44=65110:729
|
||||
Key45=38:38
|
||||
Key46=419:321
|
||||
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=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=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=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -407,7 +539,7 @@ Key16=55:55
|
|||
Key17=56:56
|
||||
Key18=57:57
|
||||
Key19=48:48
|
||||
Key20=223:223
|
||||
Key20=16785054:7838
|
||||
Key21=65105:180
|
||||
Key22=65288:8
|
||||
Key23=65289:9
|
||||
|
@ -479,8 +611,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -501,15 +633,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -525,9 +657,8 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftcapslock]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -583,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
|
||||
|
@ -596,7 +727,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -611,8 +742,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65452:44
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -633,15 +764,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -657,3 +788,4 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[noshift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -83,8 +83,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -105,15 +105,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65514:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -131,7 +131,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[shift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=64:64
|
||||
|
@ -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
|
||||
|
@ -200,7 +200,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -215,8 +215,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65454:46
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -236,16 +236,16 @@ Key109=65508:0
|
|||
Key110=65299:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65512:0
|
||||
Key114=0:0
|
||||
Key113=65032:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -263,7 +263,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[altgr]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -347,8 +347,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=124:124
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -366,18 +366,18 @@ Key107=65535:127
|
|||
Key108=65421:13
|
||||
Key109=65508:0
|
||||
Key110=65299:0
|
||||
Key111=0:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65514:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -394,8 +394,140 @@ 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=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -479,8 +611,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -501,15 +633,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65514:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -525,9 +657,8 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftcapslock]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=64:64
|
||||
|
@ -583,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
|
||||
|
@ -596,7 +727,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -611,8 +742,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65454:46
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -632,16 +763,16 @@ Key109=65508:0
|
|||
Key110=65299:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65512:0
|
||||
Key114=0:0
|
||||
Key113=65032:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -657,3 +788,4 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[noshift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -83,8 +83,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -105,15 +105,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -131,7 +131,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[shift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -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
|
||||
|
@ -200,7 +200,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -215,8 +215,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65454:46
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -237,15 +237,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -263,7 +263,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[altgr]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=185:185
|
||||
Key11=178:178
|
||||
|
@ -299,7 +299,7 @@ Key40=240:240
|
|||
Key41=496:273
|
||||
Key42=959:331
|
||||
Key43=689:295
|
||||
Key44=106:106
|
||||
Key44=65121:0
|
||||
Key45=930:312
|
||||
Key46=435:322
|
||||
Key47=64:64
|
||||
|
@ -347,8 +347,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=171:171
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -366,18 +366,18 @@ Key107=65535:127
|
|||
Key108=65421:13
|
||||
Key109=65508:0
|
||||
Key110=65299:0
|
||||
Key111=0:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -394,8 +394,140 @@ Key135=0:0
|
|||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftaltgr]
|
||||
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=419:321
|
||||
Key26=162:162
|
||||
Key27=174:174
|
||||
Key28=940:358
|
||||
Key29=165:165
|
||||
Key30=2300:8593
|
||||
Key31=697:305
|
||||
Key32=216:216
|
||||
Key33=222:222
|
||||
Key34=123:123
|
||||
Key35=125:125
|
||||
Key36=65293:13
|
||||
Key37=65507:0
|
||||
Key38=198:198
|
||||
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=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=209:209
|
||||
Key58=186:186
|
||||
Key59=215:215
|
||||
Key60=65111:168
|
||||
Key61=247:247
|
||||
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=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
|
||||
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=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -479,8 +611,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -501,15 +633,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -525,9 +657,8 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftcapslock]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -583,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
|
||||
|
@ -596,7 +727,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -611,8 +742,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65454:46
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -633,15 +764,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -657,3 +788,4 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
|
|
|
@ -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=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=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=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=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=2032:960
|
||||
Key25=5053:339
|
||||
Key26=490:281
|
||||
Key27=169:169
|
||||
Key28=223:223
|
||||
Key29=2299:8592
|
||||
Key30=2302:8595
|
||||
Key31=2301:8594
|
||||
Key32=243:243
|
||||
Key33=254:254
|
||||
Key34=65111:168
|
||||
Key35=65107:126
|
||||
Key36=65293:13
|
||||
Key37=65507:0
|
||||
Key38=433:261
|
||||
Key39=438:347
|
||||
Key40=240:240
|
||||
Key41=230:230
|
||||
Key42=959:331
|
||||
Key43=2769:8217
|
||||
Key44=16777817:601
|
||||
Key45=2734:8230
|
||||
Key46=435:322
|
||||
Key47=65105:180
|
||||
Key48=65106:94
|
||||
Key49=172:172
|
||||
Key50=65505:0
|
||||
Key51=65104:96
|
||||
Key52=447:380
|
||||
Key53=444:378
|
||||
Key54=486:263
|
||||
Key55=2814:8222
|
||||
Key56=2771:8221
|
||||
Key57=497:324
|
||||
Key58=181:181
|
||||
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
|
||||
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=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=2009:937
|
||||
Key25=5052:338
|
||||
Key26=458:280
|
||||
Key27=174:174
|
||||
Key28=2761:8482
|
||||
Key29=165:165
|
||||
Key30=2300:8593
|
||||
Key31=16785812:8596
|
||||
Key32=211:211
|
||||
Key33=222:222
|
||||
Key34=65112:176
|
||||
Key35=65108:175
|
||||
Key36=65293:13
|
||||
Key37=65507:0
|
||||
Key38=417:260
|
||||
Key39=422:346
|
||||
Key40=208:208
|
||||
Key41=198:198
|
||||
Key42=957:330
|
||||
Key43=16785442:8226
|
||||
Key44=16777615:399
|
||||
Key45=65123:0
|
||||
Key46=419:321
|
||||
Key47=65113:733
|
||||
Key48=65114:711
|
||||
Key49=2271:8744
|
||||
Key50=65505:0
|
||||
Key51=65109:728
|
||||
Key52=431:379
|
||||
Key53=428:377
|
||||
Key54=454:262
|
||||
Key55=2768:8216
|
||||
Key56=2770:8220
|
||||
Key57=465:323
|
||||
Key58=2242:8734
|
||||
Key59=215:215
|
||||
Key60=247:247
|
||||
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=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=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=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=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
|
||||
|
|
@ -1,5 +1,5 @@
|
|||
[noshift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -52,7 +52,7 @@ Key57=1748:1090
|
|||
Key58=1752:1100
|
||||
Key59=1730:1073
|
||||
Key60=1728:1102
|
||||
Key61=47:47
|
||||
Key61=46:46
|
||||
Key62=65506:0
|
||||
Key63=65450:42
|
||||
Key64=65513:0
|
||||
|
@ -83,8 +83,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=47:47
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -105,15 +105,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65514:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -131,16 +131,16 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[shift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
Key12=35:35
|
||||
Key13=42:42
|
||||
Key14=58:58
|
||||
Key15=44:44
|
||||
Key16=46:46
|
||||
Key17=59:59
|
||||
Key12=1712:8470
|
||||
Key13=59:59
|
||||
Key14=37:37
|
||||
Key15=58:58
|
||||
Key16=63:63
|
||||
Key17=42:42
|
||||
Key18=40:40
|
||||
Key19=41:41
|
||||
Key20=95:95
|
||||
|
@ -174,7 +174,7 @@ Key47=1782:1046
|
|||
Key48=1788:1069
|
||||
Key49=1715:1025
|
||||
Key50=65505:0
|
||||
Key51=124:124
|
||||
Key51=47:47
|
||||
Key52=1777:1071
|
||||
Key53=1790:1063
|
||||
Key54=1779:1057
|
||||
|
@ -184,10 +184,10 @@ Key57=1780:1058
|
|||
Key58=1784:1068
|
||||
Key59=1762:1041
|
||||
Key60=1760:1070
|
||||
Key61=63:63
|
||||
Key61=44:44
|
||||
Key62=65506:0
|
||||
Key63=65450:42
|
||||
Key64=65511:0
|
||||
Key64=65032:0
|
||||
Key65=32:32
|
||||
Key66=65509:0
|
||||
Key67=65470:0
|
||||
|
@ -200,7 +200,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -215,8 +215,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65452:44
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=124:124
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -236,16 +236,16 @@ Key109=65508:0
|
|||
Key110=65299:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65512:0
|
||||
Key114=0:0
|
||||
Key113=65032:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -263,7 +263,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[altgr]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -316,7 +316,7 @@ Key57=1748:1090
|
|||
Key58=1752:1100
|
||||
Key59=1730:1073
|
||||
Key60=1728:1102
|
||||
Key61=47:47
|
||||
Key61=46:46
|
||||
Key62=65506:0
|
||||
Key63=65450:42
|
||||
Key64=65513:0
|
||||
|
@ -347,8 +347,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=124:124
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -366,18 +366,18 @@ Key107=65535:127
|
|||
Key108=65421:13
|
||||
Key109=65508:0
|
||||
Key110=65299:0
|
||||
Key111=0:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65514:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -394,8 +394,140 @@ Key135=0:0
|
|||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftaltgr]
|
||||
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
|
||||
Key17=42:42
|
||||
Key18=40:40
|
||||
Key19=41:41
|
||||
Key20=95:95
|
||||
Key21=43:43
|
||||
Key22=65288:8
|
||||
Key23=65056:0
|
||||
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=47:47
|
||||
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=44:44
|
||||
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=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=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -448,7 +580,7 @@ Key57=1780:1058
|
|||
Key58=1784:1068
|
||||
Key59=1762:1041
|
||||
Key60=1760:1070
|
||||
Key61=47:47
|
||||
Key61=46:46
|
||||
Key62=65506:0
|
||||
Key63=65450:42
|
||||
Key64=65513:0
|
||||
|
@ -479,8 +611,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=47:47
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -501,15 +633,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65514:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -525,18 +657,17 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftcapslock]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
Key12=35:35
|
||||
Key13=42:42
|
||||
Key14=58:58
|
||||
Key15=44:44
|
||||
Key16=46:46
|
||||
Key17=59:59
|
||||
Key12=1712:8470
|
||||
Key13=59:59
|
||||
Key14=37:37
|
||||
Key15=58:58
|
||||
Key16=63:63
|
||||
Key17=42:42
|
||||
Key18=40:40
|
||||
Key19=41:41
|
||||
Key20=95:95
|
||||
|
@ -570,7 +701,7 @@ Key47=1750:1078
|
|||
Key48=1756:1101
|
||||
Key49=1699:1105
|
||||
Key50=65505:0
|
||||
Key51=124:124
|
||||
Key51=47:47
|
||||
Key52=1745:1103
|
||||
Key53=1758:1095
|
||||
Key54=1747:1089
|
||||
|
@ -580,10 +711,10 @@ Key57=1748:1090
|
|||
Key58=1752:1100
|
||||
Key59=1730:1073
|
||||
Key60=1728:1102
|
||||
Key61=63:63
|
||||
Key61=44:44
|
||||
Key62=65506:0
|
||||
Key63=65450:42
|
||||
Key64=65511:0
|
||||
Key64=65032:0
|
||||
Key65=32:32
|
||||
Key66=65509:0
|
||||
Key67=65470:0
|
||||
|
@ -596,7 +727,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -611,8 +742,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65452:44
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=124:124
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -632,16 +763,16 @@ Key109=65508:0
|
|||
Key110=65299:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65512:0
|
||||
Key114=0:0
|
||||
Key113=65032:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -657,3 +788,4 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[noshift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -83,8 +83,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -105,15 +105,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -131,7 +131,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[shift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -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
|
||||
|
@ -200,7 +200,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -215,8 +215,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65452:44
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -237,15 +237,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -263,7 +263,7 @@ Key136=0:0
|
|||
Key137=0:0
|
||||
|
||||
[altgr]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=161:161
|
||||
Key11=64:64
|
||||
|
@ -299,7 +299,7 @@ Key40=240:240
|
|||
Key41=496:273
|
||||
Key42=959:331
|
||||
Key43=689:295
|
||||
Key44=106:106
|
||||
Key44=65121:0
|
||||
Key45=930:312
|
||||
Key46=435:322
|
||||
Key47=248:248
|
||||
|
@ -347,8 +347,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=124:124
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -366,18 +366,18 @@ Key107=65535:127
|
|||
Key108=65421:13
|
||||
Key109=65508:0
|
||||
Key110=65299:0
|
||||
Key111=0:0
|
||||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -394,8 +394,140 @@ 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=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -479,8 +611,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -501,15 +633,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -525,9 +657,8 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftcapslock]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -583,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
|
||||
|
@ -596,7 +727,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -611,8 +742,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65452:44
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -633,15 +764,15 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049: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
|
||||
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
|
||||
|
@ -657,3 +788,4 @@ Key134=0:0
|
|||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
|
|
|
@ -1,5 +1,5 @@
|
|||
[noshift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -83,8 +83,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -105,33 +105,33 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049:0
|
||||
Key115=65515:0
|
||||
Key116=65312:0
|
||||
Key117=65383:0
|
||||
Key118=0:0
|
||||
Key119=0:0
|
||||
Key120=0:0
|
||||
Key121=0:0
|
||||
Key122=0: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=269025170:0
|
||||
Key129=0:0
|
||||
Key130=0:0
|
||||
Key131=0:0
|
||||
Key132=0:0
|
||||
Key133=269025166:0
|
||||
Key133=0:0
|
||||
Key134=0:0
|
||||
Key135=65382:0
|
||||
Key136=65381:0
|
||||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shift]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -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
|
||||
|
@ -200,7 +200,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -215,8 +215,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65454:46
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -237,33 +237,33 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049:0
|
||||
Key115=65515:0
|
||||
Key116=65312:0
|
||||
Key117=65383:0
|
||||
Key118=0:0
|
||||
Key119=0:0
|
||||
Key120=0:0
|
||||
Key121=0:0
|
||||
Key122=0: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=269025170:0
|
||||
Key129=0:0
|
||||
Key130=0:0
|
||||
Key131=0:0
|
||||
Key132=0:0
|
||||
Key133=269025166:0
|
||||
Key133=0:0
|
||||
Key134=0:0
|
||||
Key135=65382:0
|
||||
Key136=65381:0
|
||||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[altgr]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=185:185
|
||||
Key11=64:64
|
||||
|
@ -299,7 +299,7 @@ Key40=240:240
|
|||
Key41=496:273
|
||||
Key42=959:331
|
||||
Key43=689:295
|
||||
Key44=106:106
|
||||
Key44=65121:0
|
||||
Key45=930:312
|
||||
Key46=435:322
|
||||
Key47=65105:180
|
||||
|
@ -347,9 +347,9 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key94=124:124
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=92:92
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
Key97=65360:0
|
||||
|
@ -369,33 +369,165 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049:0
|
||||
Key115=65515:0
|
||||
Key116=65312:0
|
||||
Key117=65383:0
|
||||
Key118=0:0
|
||||
Key119=0:0
|
||||
Key120=0:0
|
||||
Key121=0:0
|
||||
Key122=0: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=269025170:0
|
||||
Key129=0:0
|
||||
Key130=0:0
|
||||
Key131=0:0
|
||||
Key132=0:0
|
||||
Key133=269025166:0
|
||||
Key133=0:0
|
||||
Key134=0:0
|
||||
Key135=65382:0
|
||||
Key136=65381:0
|
||||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftaltgr]
|
||||
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=419:321
|
||||
Key26=162:162
|
||||
Key27=174:174
|
||||
Key28=940:358
|
||||
Key29=165:165
|
||||
Key30=2300:8593
|
||||
Key31=697:305
|
||||
Key32=216:216
|
||||
Key33=222:222
|
||||
Key34=65112:176
|
||||
Key35=65108:175
|
||||
Key36=65293:13
|
||||
Key37=65507:0
|
||||
Key38=198:198
|
||||
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=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=78:78
|
||||
Key58=186:186
|
||||
Key59=215:215
|
||||
Key60=247:247
|
||||
Key61=65110:729
|
||||
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=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=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=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=49:49
|
||||
Key11=50:50
|
||||
|
@ -479,8 +611,8 @@ Key88=65433:0
|
|||
Key89=65435:0
|
||||
Key90=65438:0
|
||||
Key91=65439:0
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=60:60
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -501,33 +633,32 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049:0
|
||||
Key115=65515:0
|
||||
Key116=65312:0
|
||||
Key117=65383:0
|
||||
Key118=0:0
|
||||
Key119=0:0
|
||||
Key120=0:0
|
||||
Key121=0:0
|
||||
Key122=0: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=269025170:0
|
||||
Key129=0:0
|
||||
Key130=0:0
|
||||
Key131=0:0
|
||||
Key132=0:0
|
||||
Key133=269025166:0
|
||||
Key133=0:0
|
||||
Key134=0:0
|
||||
Key135=65382:0
|
||||
Key136=65381:0
|
||||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
[shiftcapslock]
|
||||
Key8=0:0
|
||||
Key8=65406:0
|
||||
Key9=65307:27
|
||||
Key10=33:33
|
||||
Key11=34:34
|
||||
|
@ -583,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
|
||||
|
@ -596,7 +727,7 @@ Key73=65476:0
|
|||
Key74=65477:0
|
||||
Key75=65478:0
|
||||
Key76=65479:0
|
||||
Key77=65273:0
|
||||
Key77=65407:0
|
||||
Key78=65300:0
|
||||
Key79=65463:55
|
||||
Key80=65464:56
|
||||
|
@ -611,8 +742,8 @@ Key88=65458:50
|
|||
Key89=65459:51
|
||||
Key90=65456:48
|
||||
Key91=65454:46
|
||||
Key92=0:0
|
||||
Key93=65406:0
|
||||
Key92=65377:0
|
||||
Key93=0:0
|
||||
Key94=62:62
|
||||
Key95=65480:0
|
||||
Key96=65481:0
|
||||
|
@ -633,27 +764,28 @@ Key110=65299:0
|
|||
Key111=65377:0
|
||||
Key112=65455:47
|
||||
Key113=65027:0
|
||||
Key114=0:0
|
||||
Key114=269025049:0
|
||||
Key115=65515:0
|
||||
Key116=65312:0
|
||||
Key117=65383:0
|
||||
Key118=0:0
|
||||
Key119=0:0
|
||||
Key120=0:0
|
||||
Key121=0:0
|
||||
Key122=0: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=269025170:0
|
||||
Key129=0:0
|
||||
Key130=0:0
|
||||
Key131=0:0
|
||||
Key132=0:0
|
||||
Key133=269025166:0
|
||||
Key133=0:0
|
||||
Key134=0:0
|
||||
Key135=65382:0
|
||||
Key136=65381:0
|
||||
Key135=0:0
|
||||
Key136=0:0
|
||||
Key137=0:0
|
||||
|
||||
|
|
|
@ -1 +1 @@
|
|||
Subproject commit de6a45cba607b902da704304fa3de8ddd3d15239
|
||||
Subproject commit 61f6e92ecdfd057215da7932b6afefcbfa928446
|
|
@ -129,6 +129,7 @@ struct xrdp_sec
|
|||
void *encrypt_fips_info;
|
||||
void *decrypt_fips_info;
|
||||
void *sign_fips_info;
|
||||
int is_security_header_present; /* boolean */
|
||||
};
|
||||
|
||||
/* channel */
|
||||
|
|
|
@ -906,7 +906,8 @@ xrdp_mcs_send_connect_response(struct xrdp_mcs *self)
|
|||
int APP_CC
|
||||
xrdp_mcs_incoming(struct xrdp_mcs *self)
|
||||
{
|
||||
int i;
|
||||
int index;
|
||||
|
||||
DEBUG((" in xrdp_mcs_incoming"));
|
||||
|
||||
if (xrdp_mcs_recv_connect_initial(self) != 0)
|
||||
|
@ -945,7 +946,7 @@ xrdp_mcs_incoming(struct xrdp_mcs *self)
|
|||
return 1;
|
||||
}
|
||||
|
||||
for (i = 0; i < self->channel_list->count + 2; i++)
|
||||
for (index = 0; index < self->channel_list->count + 2; index++)
|
||||
{
|
||||
if (xrdp_mcs_recv_cjrq(self) != 0)
|
||||
{
|
||||
|
@ -953,7 +954,7 @@ xrdp_mcs_incoming(struct xrdp_mcs *self)
|
|||
}
|
||||
|
||||
if (xrdp_mcs_send_cjcf(self, self->userid,
|
||||
self->userid + MCS_USERCHANNEL_BASE + i) != 0)
|
||||
self->userid + MCS_USERCHANNEL_BASE + index) != 0)
|
||||
{
|
||||
return 1;
|
||||
}
|
||||
|
|
|
@ -185,8 +185,6 @@ static const tui8 g_fips_ivec[8] =
|
|||
0x12, 0x34, 0x56, 0x78, 0x90, 0xAB, 0xCD, 0xEF
|
||||
};
|
||||
|
||||
static int is_security_header_present = 1; /* next packet should contain security header? */
|
||||
|
||||
/*****************************************************************************/
|
||||
static void APP_CC
|
||||
hex_str_to_bin(char *in, char *out, int out_len)
|
||||
|
@ -432,42 +430,44 @@ xrdp_sec_create(struct xrdp_rdp *owner, struct trans *trans)
|
|||
{
|
||||
struct xrdp_sec *self;
|
||||
|
||||
DEBUG((" in xrdp_sec_create"));
|
||||
self = (struct xrdp_sec *) g_malloc(sizeof(struct xrdp_sec), 1);
|
||||
self->rdp_layer = owner;
|
||||
self->crypt_method = CRYPT_METHOD_NONE; /* set later */
|
||||
self->crypt_level = CRYPT_LEVEL_NONE;
|
||||
self->mcs_layer = xrdp_mcs_create(self, trans, &(self->client_mcs_data),
|
||||
&(self->server_mcs_data));
|
||||
self->fastpath_layer = xrdp_fastpath_create(self, trans);
|
||||
self->chan_layer = xrdp_channel_create(self, self->mcs_layer);
|
||||
DEBUG((" out xrdp_sec_create"));
|
||||
DEBUG((" in xrdp_sec_create"));
|
||||
self = (struct xrdp_sec *) g_malloc(sizeof(struct xrdp_sec), 1);
|
||||
self->rdp_layer = owner;
|
||||
self->crypt_method = CRYPT_METHOD_NONE; /* set later */
|
||||
self->crypt_level = CRYPT_LEVEL_NONE;
|
||||
self->mcs_layer = xrdp_mcs_create(self, trans, &(self->client_mcs_data),
|
||||
&(self->server_mcs_data));
|
||||
self->fastpath_layer = xrdp_fastpath_create(self, trans);
|
||||
self->chan_layer = xrdp_channel_create(self, self->mcs_layer);
|
||||
self->is_security_header_present = 1;
|
||||
DEBUG((" out xrdp_sec_create"));
|
||||
|
||||
return self;
|
||||
return self;
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
void APP_CC
|
||||
xrdp_sec_delete(struct xrdp_sec *self) {
|
||||
xrdp_sec_delete(struct xrdp_sec *self)
|
||||
{
|
||||
if (self == 0)
|
||||
{
|
||||
g_writeln("xrdp_sec_delete: self is null");
|
||||
return;
|
||||
}
|
||||
|
||||
if (self == 0) {
|
||||
g_writeln("xrdp_sec_delete: indata is null");
|
||||
return;
|
||||
}
|
||||
|
||||
xrdp_channel_delete(self->chan_layer);
|
||||
xrdp_mcs_delete(self->mcs_layer);
|
||||
xrdp_fastpath_delete(self->fastpath_layer);
|
||||
ssl_rc4_info_delete(self->decrypt_rc4_info); /* TODO clear all data */
|
||||
ssl_rc4_info_delete(self->encrypt_rc4_info); /* TODO clear all data */
|
||||
ssl_des3_info_delete(self->decrypt_fips_info);
|
||||
ssl_des3_info_delete(self->encrypt_fips_info);
|
||||
ssl_hmac_info_delete(self->sign_fips_info);
|
||||
g_free(self->client_mcs_data.data);
|
||||
g_free(self->server_mcs_data.data);
|
||||
/* Crypto information must always be cleared */
|
||||
g_memset(self, 0, sizeof(struct xrdp_sec));
|
||||
g_free(self);
|
||||
xrdp_channel_delete(self->chan_layer);
|
||||
xrdp_mcs_delete(self->mcs_layer);
|
||||
xrdp_fastpath_delete(self->fastpath_layer);
|
||||
ssl_rc4_info_delete(self->decrypt_rc4_info); /* TODO clear all data */
|
||||
ssl_rc4_info_delete(self->encrypt_rc4_info); /* TODO clear all data */
|
||||
ssl_des3_info_delete(self->decrypt_fips_info);
|
||||
ssl_des3_info_delete(self->encrypt_fips_info);
|
||||
ssl_hmac_info_delete(self->sign_fips_info);
|
||||
g_free(self->client_mcs_data.data);
|
||||
g_free(self->server_mcs_data.data);
|
||||
/* Crypto information must always be cleared */
|
||||
g_memset(self, 0, sizeof(struct xrdp_sec));
|
||||
g_free(self);
|
||||
}
|
||||
|
||||
/*****************************************************************************/
|
||||
|
@ -490,7 +490,6 @@ xrdp_sec_init(struct xrdp_sec *self, struct stream *s)
|
|||
}
|
||||
else
|
||||
{
|
||||
// s_push_layer(s, sec_hdr, 4);
|
||||
}
|
||||
|
||||
return 0;
|
||||
|
@ -1209,7 +1208,7 @@ xrdp_sec_recv(struct xrdp_sec *self, struct stream *s, int *chan)
|
|||
}
|
||||
|
||||
|
||||
if (!is_security_header_present)
|
||||
if (!(self->is_security_header_present))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
@ -1326,7 +1325,8 @@ xrdp_sec_recv(struct xrdp_sec *self, struct stream *s, int *chan)
|
|||
if (self->crypt_level == CRYPT_LEVEL_NONE
|
||||
&& self->crypt_method == CRYPT_METHOD_NONE)
|
||||
{
|
||||
is_security_header_present = 0; /* in tls mode, no more security header from now on */
|
||||
/* in tls mode, no more security header from now on */
|
||||
self->is_security_header_present = 0;
|
||||
}
|
||||
|
||||
DEBUG((" out xrdp_sec_recv"));
|
||||
|
|
|
@ -1297,12 +1297,16 @@ lfreerdp_pointer_cached(rdpContext *context,
|
|||
mod->pointer_cache[index].bpp);
|
||||
}
|
||||
|
||||
static void DEFAULT_CC lfreerdp_polygon_cb(rdpContext* context, POLYGON_CB_ORDER* polygon_cb)
|
||||
/******************************************************************************/
|
||||
static void DEFAULT_CC
|
||||
lfreerdp_polygon_cb(rdpContext* context, POLYGON_CB_ORDER* polygon_cb)
|
||||
{
|
||||
LLOGLN(0, ("lfreerdp_polygon_sc called:- not supported!!!!!!!!!!!!!!!!!!!!"));
|
||||
}
|
||||
|
||||
static void DEFAULT_CC lfreerdp_polygon_sc(rdpContext* context, POLYGON_SC_ORDER* polygon_sc)
|
||||
/******************************************************************************/
|
||||
static void DEFAULT_CC
|
||||
lfreerdp_polygon_sc(rdpContext* context, POLYGON_SC_ORDER* polygon_sc)
|
||||
{
|
||||
struct mod *mod;
|
||||
int i, npoints;
|
||||
|
@ -1351,7 +1355,9 @@ static void DEFAULT_CC lfreerdp_polygon_sc(rdpContext* context, POLYGON_SC_ORDER
|
|||
}
|
||||
}
|
||||
|
||||
static void DEFAULT_CC lfreerdp_syncronize(rdpContext* context)
|
||||
/******************************************************************************/
|
||||
static void DEFAULT_CC
|
||||
lfreerdp_syncronize(rdpContext* context)
|
||||
{
|
||||
struct mod *mod;
|
||||
mod = ((struct mod_context *)context)->modi;
|
||||
|
@ -1398,17 +1404,41 @@ lfreerdp_pre_connect(freerdp *instance)
|
|||
instance->settings->glyph_cache = true;
|
||||
/* GLYPH_SUPPORT_FULL and GLYPH_SUPPORT_PARTIAL seem to be the same */
|
||||
instance->settings->glyphSupportLevel = GLYPH_SUPPORT_FULL;
|
||||
instance->settings->order_support[NEG_GLYPH_INDEX_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_FAST_GLYPH_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_FAST_INDEX_INDEX] = 0;
|
||||
|
||||
instance->settings->order_support[NEG_DSTBLT_INDEX] = 1; /* 0x00 */
|
||||
instance->settings->order_support[NEG_PATBLT_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_SCRBLT_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_MEMBLT_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_MEM3BLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_ATEXTOUT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_AEXTTEXTOUT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_DRAWNINEGRID_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_LINETO_INDEX] = 1; /* 0x08 */
|
||||
instance->settings->order_support[NEG_MULTI_DRAWNINEGRID_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_OPAQUE_RECT_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_SAVEBITMAP_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_WTEXTOUT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MEMBLT_V2_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_MEM3BLT_V2_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MULTIDSTBLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MULTIPATBLT_INDEX] = 0; /* 0x10 */
|
||||
instance->settings->order_support[NEG_MULTISCRBLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MULTIOPAQUERECT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_FAST_INDEX_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_POLYGON_SC_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_POLYGON_CB_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_POLYLINE_INDEX] = 0;
|
||||
/* 0x17 missing */
|
||||
instance->settings->order_support[NEG_FAST_GLYPH_INDEX] = 0; /* 0x18 */
|
||||
instance->settings->order_support[NEG_ELLIPSE_SC_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_ELLIPSE_CB_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_GLYPH_INDEX_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_GLYPH_WEXTTEXTOUT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_GLYPH_WLONGTEXTOUT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_GLYPH_WLONGEXTTEXTOUT_INDEX] = 0;
|
||||
/* 0x1F missing*/
|
||||
|
||||
instance->settings->bitmap_cache = 1;
|
||||
instance->settings->order_support[NEG_MEMBLT_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_MEMBLT_V2_INDEX] = 1;
|
||||
instance->settings->order_support[NEG_MEM3BLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MEM3BLT_V2_INDEX] = 0;
|
||||
instance->settings->bitmapCacheV2NumCells = 3; // 5;
|
||||
instance->settings->bitmapCacheV2CellInfo[0].numEntries = 600; // 0x78;
|
||||
instance->settings->bitmapCacheV2CellInfo[0].persistent = 0;
|
||||
|
@ -1422,12 +1452,6 @@ lfreerdp_pre_connect(freerdp *instance)
|
|||
instance->settings->bitmapCacheV2CellInfo[4].persistent = 0;
|
||||
|
||||
instance->settings->bitmap_cache_v3 = 1;
|
||||
instance->settings->order_support[NEG_MULTIDSTBLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MULTIPATBLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MULTISCRBLT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_MULTIOPAQUERECT_INDEX] = 0;
|
||||
instance->settings->order_support[NEG_POLYLINE_INDEX] = 0;
|
||||
|
||||
|
||||
instance->settings->username = g_strdup(mod->username);
|
||||
instance->settings->password = g_strdup(mod->password);
|
||||
|
|
|
@ -9,7 +9,8 @@ EXTRA_DIST = \
|
|||
rail.h \
|
||||
sound.h \
|
||||
xcommon.h \
|
||||
mlog.h
|
||||
mlog.h \
|
||||
chansrv_common.h
|
||||
|
||||
EXTRA_DEFINES =
|
||||
EXTRA_INCLUDES =
|
||||
|
@ -48,7 +49,8 @@ xrdp_chansrv_SOURCES = \
|
|||
drdynvc.c \
|
||||
chansrv_fuse.c \
|
||||
irp.c \
|
||||
fifo.c
|
||||
fifo.c \
|
||||
chansrv_common.c
|
||||
|
||||
xrdp_chansrv_LDFLAGS = \
|
||||
$(EXTRA_FLAGS)
|
||||
|
|
|
@ -0,0 +1,73 @@
|
|||
/**
|
||||
* xrdp: A Remote Desktop Protocol server.
|
||||
*
|
||||
* Copyright (C) Laxmikant Rashinkar 2009-2014
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#include "chansrv_common.h"
|
||||
|
||||
/**
|
||||
* Assemble fragmented incoming packets into one stream
|
||||
*
|
||||
* @param src stream that contains partial data
|
||||
* @param dest stream that contains entire data
|
||||
* @param chan_flags fragmentation flags
|
||||
* @param length bytes in this packet
|
||||
* @param total_length total length of assembled packet
|
||||
*
|
||||
* @return 1 when all data has been assembled, 0 otherwise
|
||||
*
|
||||
* NOTE: it is the responsibility of the caller to free dest stream
|
||||
****************************************************************************/
|
||||
int
|
||||
read_entire_packet(struct stream *src, struct stream **dest, int chan_flags,
|
||||
int length, int total_length)
|
||||
{
|
||||
struct stream *ls;
|
||||
|
||||
if ((chan_flags & 3) == 3)
|
||||
{
|
||||
/* packet not fragmented */
|
||||
xstream_new(ls, total_length);
|
||||
xstream_copyin(ls, src->p, length);
|
||||
ls->p = ls->data;
|
||||
*dest = ls;
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* is this the first fragmented packet? */
|
||||
if (chan_flags & 1)
|
||||
{
|
||||
xstream_new(ls, total_length);
|
||||
*dest = ls;
|
||||
}
|
||||
else
|
||||
{
|
||||
ls = *dest;
|
||||
}
|
||||
|
||||
xstream_copyin(ls, src->p, length);
|
||||
|
||||
/* in last packet, chan_flags & 0x02 will be true */
|
||||
if (chan_flags & 0x02)
|
||||
{
|
||||
/* rewind stream */
|
||||
ls->p = ls->data;
|
||||
return 1;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -0,0 +1,27 @@
|
|||
/**
|
||||
* xrdp: A Remote Desktop Protocol server.
|
||||
*
|
||||
* Copyright (C) Laxmikant Rashinkar 2009-2014
|
||||
*
|
||||
* 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.
|
||||
*/
|
||||
|
||||
#ifndef _CHANSRV_COMMON_H
|
||||
#define _CHANSRV_COMMON_H
|
||||
|
||||
#include "parse.h"
|
||||
|
||||
int read_entire_packet(struct stream *src, struct stream **dest, int chan_flags, int length, int total_length);
|
||||
|
||||
#endif
|
||||
|
|
@ -71,7 +71,7 @@ PA_MODULE_USAGE(
|
|||
|
||||
#define DEFAULT_SOURCE_NAME "xrdp-source"
|
||||
#define DEFAULT_LATENCY_TIME 10
|
||||
#define MAX_LATENCY_USEC (PA_USEC_PER_SEC * 2)
|
||||
#define MAX_LATENCY_USEC 1000
|
||||
#define CHANSRV_PORT_STR "/tmp/.xrdp/xrdp_chansrv_audio_in_socket_%d"
|
||||
|
||||
struct userdata {
|
||||
|
@ -144,6 +144,32 @@ static void source_update_requested_latency_cb(pa_source *s) {
|
|||
u->block_usec = pa_source_get_requested_latency_within_thread(s);
|
||||
}
|
||||
|
||||
static int lsend(int fd, char *data, int bytes) {
|
||||
int sent = 0;
|
||||
int error;
|
||||
while (sent < bytes) {
|
||||
error = send(fd, data + sent, bytes - sent, 0);
|
||||
if (error < 1) {
|
||||
return error;
|
||||
}
|
||||
sent += error;
|
||||
}
|
||||
return sent;
|
||||
}
|
||||
|
||||
static int lrecv(int fd, char *data, int bytes) {
|
||||
int recved = 0;
|
||||
int error;
|
||||
while (recved < bytes) {
|
||||
error = recv(fd, data + recved, bytes - recved, 0);
|
||||
if (error < 1) {
|
||||
return error;
|
||||
}
|
||||
recved += error;
|
||||
}
|
||||
return recved;
|
||||
}
|
||||
|
||||
static int data_get(struct userdata *u, pa_memchunk *chunk) {
|
||||
|
||||
int fd;
|
||||
|
@ -190,7 +216,7 @@ static int data_get(struct userdata *u, pa_memchunk *chunk) {
|
|||
buf[9] = 0;
|
||||
buf[10] = 0;
|
||||
|
||||
send(u->fd, buf, 11, 0);
|
||||
lsend(u->fd, buf, 11);
|
||||
u->want_src_data = 1;
|
||||
pa_log_debug("###### started recording");
|
||||
}
|
||||
|
@ -208,10 +234,10 @@ static int data_get(struct userdata *u, pa_memchunk *chunk) {
|
|||
buf[9] = (unsigned char) chunk->length;
|
||||
buf[10] = (unsigned char) ((chunk->length >> 8) & 0xff);
|
||||
|
||||
send(u->fd, buf, 11, 0);
|
||||
lsend(u->fd, buf, 11);
|
||||
|
||||
/* read length of data available */
|
||||
recv(u->fd, ubuf, 2, 0);
|
||||
lrecv(u->fd, (char *) ubuf, 2);
|
||||
bytes = ((ubuf[1] << 8) & 0xff00) | (ubuf[0] & 0xff);
|
||||
|
||||
if (bytes == 0) {
|
||||
|
@ -220,7 +246,7 @@ static int data_get(struct userdata *u, pa_memchunk *chunk) {
|
|||
}
|
||||
|
||||
/* get data */
|
||||
bytes = recv(u->fd, data, bytes, 0);
|
||||
bytes = lrecv(u->fd, data, bytes);
|
||||
|
||||
pa_memblock_release(chunk->memblock);
|
||||
|
||||
|
@ -272,7 +298,7 @@ static void thread_func(void *userdata) {
|
|||
buf[9] = 0;
|
||||
buf[10] = 0;
|
||||
|
||||
send(u->fd, buf, 11, 0);
|
||||
lsend(u->fd, buf, 11);
|
||||
u->want_src_data = 0;
|
||||
pa_log_debug("###### stopped recording");
|
||||
}
|
||||
|
|
|
@ -43,9 +43,11 @@ static struct trans *g_audio_c_trans_in = 0; /* connection */
|
|||
static int g_training_sent_time = 0;
|
||||
static int g_cBlockNo = 0;
|
||||
static int g_bytes_in_stream = 0;
|
||||
static FIFO in_fifo;
|
||||
static FIFO g_in_fifo;
|
||||
static int g_bytes_in_fifo = 0;
|
||||
|
||||
static struct stream *g_stream_inp = NULL;
|
||||
static struct stream *g_stream_incoming_packet = NULL;
|
||||
|
||||
#define BBUF_SIZE (1024 * 8)
|
||||
char g_buffer[BBUF_SIZE];
|
||||
|
@ -145,23 +147,18 @@ static int g_client_input_format_index = 0;
|
|||
static int g_server_input_format_index = 0;
|
||||
|
||||
/* microphone related */
|
||||
static int APP_CC
|
||||
sound_send_server_input_formats(void);
|
||||
static int APP_CC
|
||||
sound_process_input_format(int aindex, int wFormatTag,
|
||||
static int APP_CC sound_send_server_input_formats(void);
|
||||
static int APP_CC sound_process_input_format(int aindex, int wFormatTag,
|
||||
int nChannels, int nSamplesPerSec,
|
||||
int nAvgBytesPerSec, int nBlockAlign,
|
||||
int wBitsPerSample, int cbSize, char *data);
|
||||
static int APP_CC
|
||||
sound_process_input_formats(struct stream *s, int size);
|
||||
static int APP_CC
|
||||
sound_input_start_recording(void);
|
||||
static int APP_CC
|
||||
sound_input_stop_recording(void);
|
||||
static int APP_CC
|
||||
sound_process_input_data(struct stream *s, int bytes);
|
||||
static int DEFAULT_CC
|
||||
sound_sndsrvr_source_data_in(struct trans *trans);
|
||||
static int APP_CC sound_process_input_formats(struct stream *s, int size);
|
||||
static int APP_CC sound_input_start_recording(void);
|
||||
static int APP_CC sound_input_stop_recording(void);
|
||||
static int APP_CC sound_process_input_data(struct stream *s, int bytes);
|
||||
static int DEFAULT_CC sound_sndsrvr_source_data_in(struct trans *trans);
|
||||
static int APP_CC sound_start_source_listener();
|
||||
static int APP_CC sound_start_sink_listener();
|
||||
|
||||
/*****************************************************************************/
|
||||
static int APP_CC
|
||||
|
@ -681,36 +678,21 @@ sound_sndsrvr_source_conn_in(struct trans *trans, struct trans *new_trans)
|
|||
int APP_CC
|
||||
sound_init(void)
|
||||
{
|
||||
char port[256];
|
||||
|
||||
LOG(0, ("sound_init:"));
|
||||
|
||||
g_memset(g_sent_flag, 0, sizeof(g_sent_flag));
|
||||
g_stream_incoming_packet = NULL;
|
||||
|
||||
/* init sound output */
|
||||
sound_send_server_output_formats();
|
||||
|
||||
g_audio_l_trans_out = trans_create(TRANS_MODE_UNIX, 128 * 1024, 8192);
|
||||
g_audio_l_trans_out->is_term = g_is_term;
|
||||
g_snprintf(port, 255, CHANSRV_PORT_OUT_STR, g_display_num);
|
||||
g_audio_l_trans_out->trans_conn_in = sound_sndsrvr_sink_conn_in;
|
||||
|
||||
if (trans_listen(g_audio_l_trans_out, port) != 0)
|
||||
LOG(0, ("sound_init: trans_listen failed"));
|
||||
sound_start_sink_listener();
|
||||
|
||||
/* init sound input */
|
||||
sound_send_server_input_formats();
|
||||
|
||||
g_audio_l_trans_in = trans_create(TRANS_MODE_UNIX, 128 * 1024, 8192);
|
||||
g_audio_l_trans_in->is_term = g_is_term;
|
||||
g_snprintf(port, 255, CHANSRV_PORT_IN_STR, g_display_num);
|
||||
g_audio_l_trans_in->trans_conn_in = sound_sndsrvr_source_conn_in;
|
||||
|
||||
if (trans_listen(g_audio_l_trans_in, port) != 0)
|
||||
LOG(0, ("sound_init: trans_listen failed"));
|
||||
sound_start_source_listener();
|
||||
|
||||
/* save data from sound_server_source */
|
||||
fifo_init(&in_fifo, 100);
|
||||
fifo_init(&g_in_fifo, 100);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -744,7 +726,7 @@ sound_deinit(void)
|
|||
g_audio_c_trans_in = 0;
|
||||
}
|
||||
|
||||
fifo_deinit(&in_fifo);
|
||||
fifo_deinit(&g_in_fifo);
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -759,31 +741,39 @@ sound_data_in(struct stream *s, int chan_id, int chan_flags, int length,
|
|||
{
|
||||
int code;
|
||||
int size;
|
||||
int ok_to_free = 1;
|
||||
|
||||
in_uint8(s, code);
|
||||
in_uint8s(s, 1);
|
||||
in_uint16_le(s, size);
|
||||
if (!read_entire_packet(s, &g_stream_incoming_packet, chan_flags,
|
||||
length, total_length))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
in_uint8(g_stream_incoming_packet, code);
|
||||
in_uint8s(g_stream_incoming_packet, 1);
|
||||
in_uint16_le(g_stream_incoming_packet, size);
|
||||
|
||||
switch (code)
|
||||
{
|
||||
case SNDC_WAVECONFIRM:
|
||||
sound_process_wave_confirm(s, size);
|
||||
sound_process_wave_confirm(g_stream_incoming_packet, size);
|
||||
break;
|
||||
|
||||
case SNDC_TRAINING:
|
||||
sound_process_training(s, size);
|
||||
sound_process_training(g_stream_incoming_packet, size);
|
||||
break;
|
||||
|
||||
case SNDC_FORMATS:
|
||||
sound_process_output_formats(s, size);
|
||||
sound_process_output_formats(g_stream_incoming_packet, size);
|
||||
break;
|
||||
|
||||
case SNDC_REC_NEGOTIATE:
|
||||
sound_process_input_formats(s, size);
|
||||
sound_process_input_formats(g_stream_incoming_packet, size);
|
||||
break;
|
||||
|
||||
case SNDC_REC_DATA:
|
||||
sound_process_input_data(s, size);
|
||||
sound_process_input_data(g_stream_incoming_packet, size);
|
||||
ok_to_free = 0;
|
||||
break;
|
||||
|
||||
default:
|
||||
|
@ -791,6 +781,12 @@ sound_data_in(struct stream *s, int chan_id, int chan_flags, int length,
|
|||
break;
|
||||
}
|
||||
|
||||
if (ok_to_free && g_stream_incoming_packet)
|
||||
{
|
||||
xstream_free(g_stream_incoming_packet);
|
||||
g_stream_incoming_packet = NULL;
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -834,7 +830,6 @@ sound_get_wait_objs(tbus *objs, int *count, int *timeout)
|
|||
int APP_CC
|
||||
sound_check_wait_objs(void)
|
||||
{
|
||||
|
||||
if (g_audio_l_trans_out != 0)
|
||||
{
|
||||
if (trans_check_wait_objs(g_audio_l_trans_out) != 0)
|
||||
|
@ -852,6 +847,7 @@ sound_check_wait_objs(void)
|
|||
LOG(10, ("sound_check_wait_objs: g_audio_c_trans_out returned non-zero"));
|
||||
trans_delete(g_audio_c_trans_out);
|
||||
g_audio_c_trans_out = 0;
|
||||
sound_start_sink_listener();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -872,6 +868,7 @@ sound_check_wait_objs(void)
|
|||
LOG(10, ("sound_check_wait_objs: g_audio_c_trans_in returned non-zero"));
|
||||
trans_delete(g_audio_c_trans_in);
|
||||
g_audio_c_trans_in = 0;
|
||||
sound_start_source_listener();
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -1045,9 +1042,12 @@ sound_input_start_recording(void)
|
|||
{
|
||||
struct stream* s;
|
||||
|
||||
LOG(10, ("sound_input_start_recording:"));
|
||||
|
||||
/* if there is any data in FIFO, discard it */
|
||||
while ((s = (struct stream *) fifo_remove(&in_fifo)) != NULL)
|
||||
while ((s = (struct stream *) fifo_remove(&g_in_fifo)) != NULL)
|
||||
xstream_free(s);
|
||||
g_bytes_in_fifo = 0;
|
||||
|
||||
xstream_new(s, 1024);
|
||||
|
||||
|
@ -1079,6 +1079,8 @@ sound_input_stop_recording(void)
|
|||
{
|
||||
struct stream* s;
|
||||
|
||||
LOG(10, ("sound_input_stop_recording:"));
|
||||
|
||||
xstream_new(s, 1024);
|
||||
|
||||
/*
|
||||
|
@ -1102,19 +1104,25 @@ sound_input_stop_recording(void)
|
|||
* Process data: xrdp <- client
|
||||
*****************************************************************************/
|
||||
|
||||
static unsigned char data = 0;
|
||||
|
||||
static int APP_CC
|
||||
sound_process_input_data(struct stream *s, int bytes)
|
||||
{
|
||||
struct stream *ls;
|
||||
|
||||
LOG(0, ("sound_process_input_data: bytes %d g_bytes_in_fifo %d",
|
||||
bytes, g_bytes_in_fifo));
|
||||
|
||||
/* cap data in fifo */
|
||||
if (g_bytes_in_fifo > 8 * 1024)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
xstream_new(ls, bytes);
|
||||
memcpy(ls->data, s->p, bytes);
|
||||
g_memcpy(ls->data, s->p, bytes);
|
||||
ls->p += bytes;
|
||||
s_mark_end(ls);
|
||||
|
||||
fifo_insert(&in_fifo, (void *) ls);
|
||||
fifo_insert(&g_in_fifo, (void *) ls);
|
||||
g_bytes_in_fifo += bytes;
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
@ -1147,6 +1155,7 @@ sound_sndsrvr_source_data_in(struct trans *trans)
|
|||
ts->p = ts->data + 8;
|
||||
in_uint8(ts, cmd);
|
||||
in_uint16_le(ts, bytes_req);
|
||||
LOG(10, ("sound_sndsrvr_source_data_in: bytes_req %d", bytes_req));
|
||||
|
||||
xstream_new(s, bytes_req + 2);
|
||||
|
||||
|
@ -1158,7 +1167,14 @@ sound_sndsrvr_source_data_in(struct trans *trans)
|
|||
while (bytes_read < bytes_req)
|
||||
{
|
||||
if (g_stream_inp == NULL)
|
||||
g_stream_inp = (struct stream *) fifo_remove(&in_fifo);
|
||||
{
|
||||
g_stream_inp = (struct stream *) fifo_remove(&g_in_fifo);
|
||||
if (g_stream_inp != NULL)
|
||||
{
|
||||
g_bytes_in_fifo -= g_stream_inp->size;
|
||||
LOG(10, (" g_bytes_in_fifo %d", g_bytes_in_fifo));
|
||||
}
|
||||
}
|
||||
|
||||
if (g_stream_inp == NULL)
|
||||
{
|
||||
|
@ -1212,3 +1228,38 @@ sound_sndsrvr_source_data_in(struct trans *trans)
|
|||
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start a listener for microphone redirection connections
|
||||
*****************************************************************************/
|
||||
static int APP_CC
|
||||
sound_start_source_listener()
|
||||
{
|
||||
char port[1024];
|
||||
|
||||
g_audio_l_trans_in = trans_create(TRANS_MODE_UNIX, 128 * 1024, 8192);
|
||||
g_audio_l_trans_in->is_term = g_is_term;
|
||||
g_snprintf(port, 255, CHANSRV_PORT_IN_STR, g_display_num);
|
||||
g_audio_l_trans_in->trans_conn_in = sound_sndsrvr_source_conn_in;
|
||||
if (trans_listen(g_audio_l_trans_in, port) != 0)
|
||||
LOG(0, ("trans_listen failed"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
/**
|
||||
* Start a listener for speaker redirection connections
|
||||
*****************************************************************************/
|
||||
static int APP_CC
|
||||
sound_start_sink_listener()
|
||||
{
|
||||
char port[1024];
|
||||
|
||||
g_audio_l_trans_out = trans_create(TRANS_MODE_UNIX, 128 * 1024, 8192);
|
||||
g_audio_l_trans_out->is_term = g_is_term;
|
||||
g_snprintf(port, 255, CHANSRV_PORT_OUT_STR, g_display_num);
|
||||
g_audio_l_trans_out->trans_conn_in = sound_sndsrvr_sink_conn_in;
|
||||
if (trans_listen(g_audio_l_trans_out, port) != 0)
|
||||
LOG(0, ("trans_listen failed"));
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
@ -460,6 +460,7 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||
char screen[32];
|
||||
char text[256];
|
||||
char passwd_file[256];
|
||||
char *pfile;
|
||||
char **pp1 = (char **)NULL;
|
||||
struct session_chain *temp = (struct session_chain *)NULL;
|
||||
struct list *xserver_params = (struct list *)NULL;
|
||||
|
@ -633,10 +634,14 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||
}
|
||||
else if (xpid == 0) /* child */
|
||||
{
|
||||
env_set_user(username, passwd_file, display,
|
||||
pfile = 0;
|
||||
if (type == SESMAN_SESSION_TYPE_XVNC)
|
||||
{
|
||||
pfile = passwd_file;
|
||||
}
|
||||
env_set_user(username, pfile, display,
|
||||
g_cfg->session_variables1,
|
||||
g_cfg->session_variables2);
|
||||
env_check_password_file(passwd_file, password);
|
||||
|
||||
g_snprintf(text, 255, "%d", g_cfg->sess.max_idle_time);
|
||||
g_setenv("XRDP_SESMAN_MAX_IDLE_TIME", text, 1);
|
||||
|
@ -676,6 +681,7 @@ session_start_fork(int width, int height, int bpp, char *username,
|
|||
}
|
||||
else if (type == SESMAN_SESSION_TYPE_XVNC)
|
||||
{
|
||||
env_check_password_file(passwd_file, password);
|
||||
xserver_params = list_create();
|
||||
xserver_params->auto_free = 1;
|
||||
|
||||
|
|
|
@ -51,6 +51,7 @@ long DEFAULT_CC
|
|||
auth_userpass(char *user, char *pass, int *errorcode)
|
||||
{
|
||||
const char *encr;
|
||||
const char *epass;
|
||||
struct passwd *spw;
|
||||
struct spwd *stp;
|
||||
|
||||
|
@ -84,8 +85,12 @@ auth_userpass(char *user, char *pass, int *errorcode)
|
|||
/* old system with only passwd */
|
||||
encr = spw->pw_passwd;
|
||||
}
|
||||
|
||||
return (strcmp(encr, crypt(pass, encr)) == 0);
|
||||
epass = crypt(pass, encr);
|
||||
if (epass == 0)
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
return (strcmp(encr, epass) == 0);
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
|
|
|
@ -118,22 +118,31 @@ auth_userpass(char *user, char *pass, int *errorcode)
|
|||
|
||||
if (error != PAM_SUCCESS)
|
||||
{
|
||||
if(errorcode!=NULL){
|
||||
*errorcode = error ;
|
||||
}
|
||||
if (errorcode != NULL)
|
||||
{
|
||||
*errorcode = error;
|
||||
}
|
||||
g_printf("pam_start failed: %s\r\n", pam_strerror(auth_info->ph, error));
|
||||
pam_end(auth_info->ph, error);
|
||||
g_free(auth_info);
|
||||
return 0;
|
||||
}
|
||||
|
||||
error = pam_set_item(auth_info->ph, PAM_TTY, service_name);
|
||||
if (error != PAM_SUCCESS)
|
||||
{
|
||||
g_printf("pam_set_item failed: %s\r\n",
|
||||
pam_strerror(auth_info->ph, error));
|
||||
}
|
||||
|
||||
error = pam_authenticate(auth_info->ph, 0);
|
||||
|
||||
if (error != PAM_SUCCESS)
|
||||
{
|
||||
if(errorcode!=NULL){
|
||||
*errorcode = error ;
|
||||
}
|
||||
if (errorcode != NULL)
|
||||
{
|
||||
*errorcode = error;
|
||||
}
|
||||
g_printf("pam_authenticate failed: %s\r\n",
|
||||
pam_strerror(auth_info->ph, error));
|
||||
pam_end(auth_info->ph, error);
|
||||
|
@ -150,9 +159,10 @@ auth_userpass(char *user, char *pass, int *errorcode)
|
|||
|
||||
if (error != PAM_SUCCESS)
|
||||
{
|
||||
if(errorcode!=NULL){
|
||||
*errorcode = error ;
|
||||
}
|
||||
if (errorcode != NULL)
|
||||
{
|
||||
*errorcode = error;
|
||||
}
|
||||
g_printf("pam_acct_mgmt failed: %s\r\n",
|
||||
pam_strerror(auth_info->ph, error));
|
||||
pam_end(auth_info->ph, error);
|
||||
|
|
11
vnc/vnc.c
11
vnc/vnc.c
|
@ -979,6 +979,13 @@ lib_mod_connect(struct vnc *v)
|
|||
|
||||
v->sck_obj = g_create_wait_obj_from_socket(v->sck, 0);
|
||||
v->sck_closed = 0;
|
||||
if (v->delay_ms > 0)
|
||||
{
|
||||
g_sprintf(text, "Waiting %d ms for VNC to start...", v->delay_ms);
|
||||
v->server_msg(v, text, 0);
|
||||
g_sleep(v->delay_ms);
|
||||
}
|
||||
|
||||
g_sprintf(text, "VNC connecting to %s %s", v->ip, con_port);
|
||||
v->server_msg(v, text, 0);
|
||||
error = g_tcp_connect(v->sck, v->ip, con_port);
|
||||
|
@ -1331,6 +1338,10 @@ lib_mod_set_param(struct vnc *v, char *name, char *value)
|
|||
{
|
||||
v->keylayout = g_atoi(value);
|
||||
}
|
||||
else if (g_strcasecmp(name, "delay_ms") == 0)
|
||||
{
|
||||
v->delay_ms = g_atoi(value);
|
||||
}
|
||||
|
||||
return 0;
|
||||
}
|
||||
|
|
|
@ -115,4 +115,5 @@ struct vnc
|
|||
char* clip_data;
|
||||
int clip_data_size;
|
||||
tbus sck_obj;
|
||||
int delay_ms;
|
||||
};
|
||||
|
|
|
@ -1,36 +0,0 @@
|
|||
moduledir := $(shell pkg-config xorg-server --variable moduledir)
|
||||
|
||||
all: allmake
|
||||
|
||||
allmake:
|
||||
cd module; $(MAKE) $(MFLAGS)
|
||||
cd xrdpdev; $(MAKE) $(MFLAGS)
|
||||
cd xrdpkeyb; $(MAKE) $(MFLAGS)
|
||||
cd xrdpmouse; $(MAKE) $(MFLAGS)
|
||||
|
||||
clean: allclean
|
||||
|
||||
allclean:
|
||||
cd module; $(MAKE) clean
|
||||
cd xrdpdev; $(MAKE) clean
|
||||
cd xrdpkeyb; $(MAKE) clean
|
||||
cd xrdpmouse; $(MAKE) clean
|
||||
|
||||
xinstall:
|
||||
strip module/libxorgxrdp.so
|
||||
strip xrdpdev/xrdpdev_drv.so
|
||||
strip xrdpmouse/xrdpmouse_drv.so
|
||||
strip xrdpkeyb/xrdpkeyb_drv.so
|
||||
|
||||
mkdir -p $(HOME)/xorg-modules/drivers $(HOME)/xorg-modules/input
|
||||
cp module/libxorgxrdp.so $(HOME)/xorg-modules/
|
||||
cp xrdpdev/xrdpdev_drv.so $(HOME)/xorg-modules/drivers/
|
||||
cp xrdpmouse/xrdpmouse_drv.so $(HOME)/xorg-modules/input/
|
||||
cp xrdpkeyb/xrdpkeyb_drv.so $(HOME)/xorg-modules/input/
|
||||
|
||||
install:
|
||||
install --directory $(DESTDIR)$(moduledir) $(DESTDIR)$(moduledir)/drivers $(DESTDIR)$(moduledir)/input
|
||||
install --mode=0644 --strip module/libxorgxrdp.so $(DESTDIR)$(moduledir)
|
||||
install --mode=0644 --strip xrdpdev/xrdpdev_drv.so $(DESTDIR)$(moduledir)/drivers/
|
||||
install --mode=0644 --strip xrdpmouse/xrdpmouse_drv.so $(DESTDIR)$(moduledir)/input/
|
||||
install --mode=0644 --strip xrdpkeyb/xrdpkeyb_drv.so $(DESTDIR)$(moduledir)/input/
|
|
@ -0,0 +1,7 @@
|
|||
EXTRA_DIST = bootstrap readme.txt
|
||||
|
||||
SUBDIRS = \
|
||||
module \
|
||||
xrdpdev \
|
||||
xrdpkeyb \
|
||||
xrdpmouse
|
|
@ -0,0 +1,36 @@
|
|||
#!/bin/sh
|
||||
|
||||
which autoconf
|
||||
if ! test $? -eq 0
|
||||
then
|
||||
echo "error, install autoconf"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
which automake
|
||||
if ! test $? -eq 0
|
||||
then
|
||||
echo "error, install automake"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
which libtool
|
||||
if ! test $? -eq 0
|
||||
then
|
||||
echo "error, install libtool"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
which pkg-config
|
||||
if ! test $? -eq 0
|
||||
then
|
||||
echo "error, install pkg-config"
|
||||
exit 1
|
||||
fi
|
||||
|
||||
touch configure.ac
|
||||
touch NEWS
|
||||
touch AUTHORS
|
||||
touch README
|
||||
touch ChangeLog
|
||||
autoreconf -fvi
|
|
@ -0,0 +1,35 @@
|
|||
# Process this file with autoconf to produce a configure script
|
||||
|
||||
AC_PREREQ(2.59)
|
||||
AC_INIT([xrdpmod], [0.1.0], [xrdp-devel@lists.sourceforge.net])
|
||||
AC_CONFIG_HEADERS(config_ac.h:config_ac-h.in)
|
||||
AM_INIT_AUTOMAKE([1.6 foreign])
|
||||
AC_PROG_CC
|
||||
AC_C_CONST
|
||||
AC_PROG_LIBTOOL
|
||||
|
||||
AM_CONDITIONAL(GOT_PREFIX, test "x${prefix}" != "xNONE"])
|
||||
|
||||
AC_CHECK_HEADER([xorg/xorg-server.h], [],
|
||||
[AC_MSG_ERROR([please install xserver-xorg-dev or xorg-x11-server-sdk])])
|
||||
|
||||
PKG_CHECK_MODULES([XORG_SERVER], [xorg-server >= 0])
|
||||
AC_SUBST([XORG_SERVER_CFLAGS])
|
||||
AC_SUBST([XORG_SERVER_LIBS])
|
||||
|
||||
moduledir=`pkg-config xorg-server --variable=moduledir`
|
||||
AC_SUBST([moduledir])
|
||||
|
||||
if test "x${prefix}" = "xNONE" ; then
|
||||
sysconfdir="/etc";
|
||||
fi
|
||||
|
||||
AC_CONFIG_FILES([Makefile
|
||||
module/Makefile
|
||||
xrdpdev/Makefile
|
||||
xrdpkeyb/Makefile
|
||||
xrdpmouse/Makefile
|
||||
])
|
||||
|
||||
AC_OUTPUT
|
||||
|
|
@ -1,60 +0,0 @@
|
|||
|
||||
OBJS = rdpDraw.o rdpPri.o rdpGC.o rdpFillSpans.o rdpSetSpans.o rdpPutImage.o \
|
||||
rdpCopyArea.o rdpCopyPlane.o rdpPolyPoint.o rdpPolylines.o rdpPolySegment.o \
|
||||
rdpPolyRectangle.o rdpPolyArc.o rdpFillPolygon.o rdpPolyFillRect.o \
|
||||
rdpPolyFillArc.o rdpPolyText8.o rdpPolyText16.o rdpImageText8.o \
|
||||
rdpImageText16.o rdpImageGlyphBlt.o rdpPolyGlyphBlt.o rdpPushPixels.o \
|
||||
rdpCursor.o rdpMain.o rdpRandR.o rdpMisc.o rdpReg.o \
|
||||
rdpComposite.o rdpGlyphs.o rdpPixmap.o rdpInput.o rdpClientCon.o rdpCapture.o \
|
||||
rdpTrapezoids.o rdpXv.o rdpSimd.o
|
||||
|
||||
;OBJS += cpuid_x86.o i420_to_rgb32_x86_sse2.o yv12_to_rgb32_x86_sse2.o yuy2_to_rgb32_x86_sse2.o uyvy_to_rgb32_x86_sse2.o
|
||||
;OBJS += cpuid_amd64.o i420_to_rgb32_amd64_sse2.o yv12_to_rgb32_amd64_sse2.o yuy2_to_rgb32_amd64_sse2.o uyvy_to_rgb32_amd64_sse2.o
|
||||
|
||||
CFLAGS = -g -O2 -Wall -fPIC -I/usr/include/xorg -I/usr/include/pixman-1 \
|
||||
-I../../../common
|
||||
|
||||
;CFLAGS += -DSIMD_USE_ACCEL=1
|
||||
|
||||
LDFLAGS =
|
||||
|
||||
LIBS =
|
||||
|
||||
all: libxorgxrdp.so
|
||||
|
||||
libxorgxrdp.so: $(OBJS) Makefile
|
||||
$(CC) -shared -o libxorgxrdp.so $(LDFLAGS) $(OBJS) $(LIBS)
|
||||
|
||||
clean:
|
||||
rm -f $(OBJS) libxorgxrdp.so
|
||||
|
||||
cpuid_x86.o: x86/cpuid_x86.asm
|
||||
yasm -f elf32 -g dwarf2 x86/cpuid_x86.asm
|
||||
|
||||
i420_to_rgb32_x86_sse2.o: x86/i420_to_rgb32_x86_sse2.asm
|
||||
yasm -f elf32 -g dwarf2 x86/i420_to_rgb32_x86_sse2.asm
|
||||
|
||||
yv12_to_rgb32_x86_sse2.o: x86/yv12_to_rgb32_x86_sse2.asm
|
||||
yasm -f elf32 -g dwarf2 x86/yv12_to_rgb32_x86_sse2.asm
|
||||
|
||||
yuy2_to_rgb32_x86_sse2.o: x86/yuy2_to_rgb32_x86_sse2.asm
|
||||
yasm -f elf32 -g dwarf2 x86/yuy2_to_rgb32_x86_sse2.asm
|
||||
|
||||
uyvy_to_rgb32_x86_sse2.o: x86/uyvy_to_rgb32_x86_sse2.asm
|
||||
yasm -f elf32 -g dwarf2 x86/uyvy_to_rgb32_x86_sse2.asm
|
||||
|
||||
cpuid_amd64.o: amd64/cpuid_amd64.asm
|
||||
yasm -f elf64 -g dwarf2 amd64/cpuid_amd64.asm
|
||||
|
||||
i420_to_rgb32_amd64_sse2.o: amd64/i420_to_rgb32_amd64_sse2.asm
|
||||
yasm -f elf64 -g dwarf2 amd64/i420_to_rgb32_amd64_sse2.asm
|
||||
|
||||
yv12_to_rgb32_amd64_sse2.o: amd64/yv12_to_rgb32_amd64_sse2.asm
|
||||
yasm -f elf64 -g dwarf2 amd64/yv12_to_rgb32_amd64_sse2.asm
|
||||
|
||||
yuy2_to_rgb32_amd64_sse2.o: amd64/yuy2_to_rgb32_amd64_sse2.asm
|
||||
yasm -f elf64 -g dwarf2 amd64/yuy2_to_rgb32_amd64_sse2.asm
|
||||
|
||||
uyvy_to_rgb32_amd64_sse2.o: amd64/uyvy_to_rgb32_amd64_sse2.asm
|
||||
yasm -f elf64 -g dwarf2 amd64/uyvy_to_rgb32_amd64_sse2.asm
|
||||
|
|
@ -0,0 +1,22 @@
|
|||
EXTRA_DIST =
|
||||
|
||||
AM_CFLAGS = \
|
||||
$(XORG_SERVER_CFLAGS) \
|
||||
-I../../../common
|
||||
|
||||
libxorgxrdp_la_LTLIBRARIES = libxorgxrdp.la
|
||||
|
||||
libxorgxrdp_la_LDFLAGS = -module -avoid-version
|
||||
|
||||
libxorgxrdp_ladir = $(moduledir)
|
||||
|
||||
libxorgxrdp_la_SOURCES = rdpDraw.c rdpPri.c rdpGC.c rdpFillSpans.c \
|
||||
rdpSetSpans.c rdpPutImage.c rdpCopyArea.c rdpCopyPlane.c rdpPolyPoint.c \
|
||||
rdpPolylines.c rdpPolySegment.c rdpPolyRectangle.c rdpPolyArc.c \
|
||||
rdpFillPolygon.c rdpPolyFillRect.c rdpPolyFillArc.c rdpPolyText8.c \
|
||||
rdpPolyText16.c rdpImageText8.c rdpImageText16.c rdpImageGlyphBlt.c \
|
||||
rdpPolyGlyphBlt.c rdpPushPixels.c rdpCursor.c rdpMain.c rdpRandR.c \
|
||||
rdpMisc.c rdpReg.c rdpComposite.c rdpGlyphs.c rdpPixmap.c rdpInput.c \
|
||||
rdpClientCon.c rdpCapture.c rdpTrapezoids.c rdpXv.c rdpSimd.c
|
||||
|
||||
libxorgxrdp_la_LIBADD =
|
|
@ -23,6 +23,9 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#define _RDP_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
#include <scrnintstr.h>
|
||||
#include <gcstruct.h>
|
||||
#include <mipointer.h>
|
||||
|
@ -197,6 +200,10 @@ struct _rdpCounts
|
|||
|
||||
typedef int (*yuv_to_rgb32_proc)(unsigned char *yuvs, int width, int height, int *rgbs);
|
||||
|
||||
typedef int (*copy_box_proc)(char *s8, int src_stride,
|
||||
char *d8, int dst_stride,
|
||||
int width, int height);
|
||||
|
||||
/* move this to common header */
|
||||
struct _rdpRec
|
||||
{
|
||||
|
@ -209,6 +216,7 @@ struct _rdpRec
|
|||
int bitsPerPixel;
|
||||
int Bpp;
|
||||
int Bpp_mask;
|
||||
char *pfbMemory_alloc;
|
||||
char *pfbMemory;
|
||||
ScreenPtr pScreen;
|
||||
rdpDevPrivateKey privateKeyRecGC;
|
||||
|
@ -277,6 +285,8 @@ struct _rdpRec
|
|||
int xv_timer_schedualed;
|
||||
OsTimerPtr xv_timer;
|
||||
|
||||
copy_box_proc a8r8g8b8_to_a8b8g8r8_box;
|
||||
|
||||
};
|
||||
typedef struct _rdpRec rdpRec;
|
||||
typedef struct _rdpRec * rdpPtr;
|
||||
|
|
|
@ -24,6 +24,7 @@
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@
|
|||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpMisc.h"
|
||||
#include "rdpCapture.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
@ -63,7 +65,8 @@ rdpLimitRects(RegionPtr reg, int max_rects, BoxPtr *rects)
|
|||
/******************************************************************************/
|
||||
/* copy rects with no error checking */
|
||||
static int
|
||||
rdpCopyBox_a8r8g8b8_to_a8r8g8b8(void *src, int src_stride, int srcx, int srcy,
|
||||
rdpCopyBox_a8r8g8b8_to_a8r8g8b8(rdpClientCon *clientCon,
|
||||
void *src, int src_stride, int srcx, int srcy,
|
||||
void *dst, int dst_stride, int dstx, int dsty,
|
||||
BoxPtr rects, int num_rects)
|
||||
{
|
||||
|
@ -87,7 +90,7 @@ rdpCopyBox_a8r8g8b8_to_a8r8g8b8(void *src, int src_stride, int srcx, int srcy,
|
|||
height = box->y2 - box->y1;
|
||||
for (jndex = 0; jndex < height; jndex++)
|
||||
{
|
||||
memcpy(d8, s8, bytes);
|
||||
g_memcpy(d8, s8, bytes);
|
||||
d8 += dst_stride;
|
||||
s8 += src_stride;
|
||||
}
|
||||
|
@ -101,7 +104,7 @@ rdpFillBox_yuvalp(int ax, int ay,
|
|||
void *dst, int dst_stride)
|
||||
{
|
||||
dst = ((char *) dst) + (ay << 8) * (dst_stride >> 8) + (ax << 8);
|
||||
memset(dst, 0, 64 * 64 * 4);
|
||||
g_memset(dst, 0, 64 * 64 * 4);
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -174,13 +177,14 @@ rdpCopyBox_a8r8g8b8_to_yuvalp(int ax, int ay,
|
|||
y = (r * 19595 + g * 38470 + b * 7471) >> 16;
|
||||
u = (r * -11071 + g * -21736 + b * 32807) >> 16;
|
||||
v = (r * 32756 + g * -27429 + b * -5327) >> 16;
|
||||
y = y - 128;
|
||||
y = max(y, -128);
|
||||
u = max(u, -128);
|
||||
v = max(v, -128);
|
||||
y = min(y, 127);
|
||||
u = min(u, 127);
|
||||
v = min(v, 127);
|
||||
u = u + 128;
|
||||
v = v + 128;
|
||||
y = max(y, 0);
|
||||
u = max(u, 0);
|
||||
v = max(v, 0);
|
||||
y = min(y, 255);
|
||||
u = min(u, 255);
|
||||
v = min(v, 255);
|
||||
*(yptr++) = y;
|
||||
*(uptr++) = u;
|
||||
*(vptr++) = v;
|
||||
|
@ -194,53 +198,67 @@ rdpCopyBox_a8r8g8b8_to_yuvalp(int ax, int ay,
|
|||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
int
|
||||
a8r8g8b8_to_a8b8g8r8_box(char *s8, int src_stride,
|
||||
char *d8, int dst_stride,
|
||||
int width, int height)
|
||||
{
|
||||
int index;
|
||||
int jndex;
|
||||
int red;
|
||||
int green;
|
||||
int blue;
|
||||
unsigned int *s32;
|
||||
unsigned int *d32;
|
||||
|
||||
for (index = 0; index < height; index++)
|
||||
{
|
||||
s32 = (unsigned int *) s8;
|
||||
d32 = (unsigned int *) d8;
|
||||
for (jndex = 0; jndex < width; jndex++)
|
||||
{
|
||||
SPLITCOLOR32(red, green, blue, *s32);
|
||||
*d32 = COLOR24(red, green, blue);
|
||||
s32++;
|
||||
d32++;
|
||||
}
|
||||
d8 += dst_stride;
|
||||
s8 += src_stride;
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
||||
/******************************************************************************/
|
||||
/* copy rects with no error checking */
|
||||
static int
|
||||
rdpCopyBox_a8r8g8b8_to_a8b8g8r8(void *src, int src_stride,
|
||||
void *dst, int dst_stride,
|
||||
rdpCopyBox_a8r8g8b8_to_a8b8g8r8(rdpClientCon *clientCon,
|
||||
void *src, int src_stride, int srcx, int srcy,
|
||||
void *dst, int dst_stride, int dstx, int dsty,
|
||||
BoxPtr rects, int num_rects)
|
||||
{
|
||||
char *s8;
|
||||
char *d8;
|
||||
int index;
|
||||
int jndex;
|
||||
int kndex;
|
||||
int bytes;
|
||||
int width;
|
||||
int height;
|
||||
int red;
|
||||
int green;
|
||||
int blue;
|
||||
BoxPtr box;
|
||||
unsigned int *s32;
|
||||
unsigned int *d32;
|
||||
copy_box_proc copy_box;
|
||||
|
||||
copy_box = clientCon->dev->a8r8g8b8_to_a8b8g8r8_box;
|
||||
for (index = 0; index < num_rects; index++)
|
||||
{
|
||||
box = rects + index;
|
||||
s8 = ((char *) src) + box->y1 * src_stride;
|
||||
s8 += box->x1 * 4;
|
||||
d8 = ((char *) dst) + box->y1 * dst_stride;
|
||||
d8 += box->x1 * 4;
|
||||
s8 = ((char *) src) + (box->y1 - srcy) * src_stride;
|
||||
s8 += (box->x1 - srcx) * 4;
|
||||
d8 = ((char *) dst) + (box->y1 - dsty) * dst_stride;
|
||||
d8 += (box->x1 - dstx) * 4;
|
||||
bytes = box->x2 - box->x1;
|
||||
bytes *= 4;
|
||||
width = box->x2 - box->x1;
|
||||
height = box->y2 - box->y1;
|
||||
for (jndex = 0; jndex < height; jndex++)
|
||||
{
|
||||
s32 = (unsigned int *) s8;
|
||||
d32 = (unsigned int *) d8;
|
||||
for (kndex = 0; kndex < width; kndex++)
|
||||
{
|
||||
SPLITCOLOR32(red, green, blue, *s32);
|
||||
*d32 = COLOR24(red, green, blue);
|
||||
s32++;
|
||||
d32++;
|
||||
}
|
||||
d8 += dst_stride;
|
||||
s8 += src_stride;
|
||||
}
|
||||
copy_box(s8, src_stride, d8, dst_stride, width, height);
|
||||
}
|
||||
return 0;
|
||||
}
|
||||
|
@ -283,8 +301,8 @@ rdpCapture0(rdpClientCon *clientCon,
|
|||
|
||||
rect.x1 = 0;
|
||||
rect.y1 = 0;
|
||||
rect.x2 = min(dst_width, src_width);
|
||||
rect.y2 = min(dst_height, src_height);
|
||||
rect.x2 = RDPMIN(dst_width, src_width);
|
||||
rect.y2 = RDPMIN(dst_height, src_height);
|
||||
rdpRegionInit(®, &rect, 0);
|
||||
rdpRegionIntersect(®, in_reg, ®);
|
||||
|
||||
|
@ -307,14 +325,16 @@ rdpCapture0(rdpClientCon *clientCon,
|
|||
|
||||
if ((src_format == XRDP_a8r8g8b8) && (dst_format == XRDP_a8r8g8b8))
|
||||
{
|
||||
rdpCopyBox_a8r8g8b8_to_a8r8g8b8(src, src_stride, 0, 0,
|
||||
rdpCopyBox_a8r8g8b8_to_a8r8g8b8(clientCon,
|
||||
src, src_stride, 0, 0,
|
||||
dst, dst_stride, 0, 0,
|
||||
psrc_rects, num_rects);
|
||||
}
|
||||
else if ((src_format == XRDP_a8r8g8b8) && (dst_format == XRDP_a8b8g8r8))
|
||||
{
|
||||
rdpCopyBox_a8r8g8b8_to_a8b8g8r8(src, src_stride,
|
||||
dst, dst_stride,
|
||||
rdpCopyBox_a8r8g8b8_to_a8b8g8r8(clientCon,
|
||||
src, src_stride, 0, 0,
|
||||
dst, dst_stride, 0, 0,
|
||||
psrc_rects, num_rects);
|
||||
}
|
||||
else if ((src_format == XRDP_a8r8g8b8) && (dst_format == XRDP_r5g6b5))
|
||||
|
@ -739,6 +759,7 @@ rdpCapture(rdpClientCon *clientCon,
|
|||
int dst_stride, int dst_format, int mode)
|
||||
{
|
||||
LLOGLN(10, ("rdpCapture:"));
|
||||
LLOGLN(10, ("rdpCapture: src %p dst %p", src, dst));
|
||||
switch (mode)
|
||||
{
|
||||
case 0:
|
||||
|
|
|
@ -18,10 +18,24 @@
|
|||
* Routines to copy regions from framebuffer to shared memory
|
||||
*/
|
||||
|
||||
Bool
|
||||
#ifndef __RDPCAPTURE_H
|
||||
#define __RDPCAPTURE_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT Bool
|
||||
rdpCapture(rdpClientCon *clientCon,
|
||||
RegionPtr in_reg, BoxPtr *out_rects, int *num_out_rects,
|
||||
void *src, int src_width, int src_height,
|
||||
int src_stride, int src_format,
|
||||
void *dst, int dst_width, int dst_height,
|
||||
int dst_stride, int dst_format, int mode);
|
||||
|
||||
extern _X_EXPORT int
|
||||
a8r8g8b8_to_a8b8g8r8_box(char *s8, int src_stride,
|
||||
char *d8, int dst_stride,
|
||||
int width, int height);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -31,6 +31,7 @@ Client connection to xrdp
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
|
|
@ -21,6 +21,10 @@ Client connection to xrdp
|
|||
|
||||
*/
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
/* in xrdp/common */
|
||||
#include "xrdp_client_info.h"
|
||||
#include "xrdp_constants.h"
|
||||
|
@ -108,55 +112,55 @@ struct _rdpClientCon
|
|||
struct _rdpClientCon *next;
|
||||
};
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConBeginUpdate(rdpPtr dev, rdpClientCon *clientCon);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConEndUpdate(rdpPtr dev, rdpClientCon *clientCon);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConSetFgcolor(rdpPtr dev, rdpClientCon *clientCon, int fgcolor);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpClientConSendArea(rdpPtr dev, rdpClientCon *clientCon,
|
||||
struct image_data *id, int x, int y, int w, int h);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConFillRect(rdpPtr dev, rdpClientCon *clientCon,
|
||||
short x, short y, int cx, int cy);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConCheck(ScreenPtr pScreen);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConInit(rdpPtr dev);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConDeinit(rdpPtr dev);
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConDeleteOsSurface(rdpPtr dev, rdpClientCon *clientCon, int rdpindex);
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConRemoveOsBitmap(rdpPtr dev, rdpClientCon *clientCon, int rdpindex);
|
||||
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpClientConScheduleDeferredUpdate(rdpPtr dev);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConCheckDirtyScreen(rdpPtr dev, rdpClientCon *clientCon);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConAddDirtyScreenReg(rdpPtr dev, rdpClientCon *clientCon,
|
||||
RegionPtr reg);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConAddDirtyScreenBox(rdpPtr dev, rdpClientCon *clientCon,
|
||||
BoxPtr box);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConAddDirtyScreen(rdpPtr dev, rdpClientCon *clientCon,
|
||||
int x, int y, int cx, int cy);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpClientConGetScreenImageRect(rdpPtr dev, rdpClientCon *clientCon,
|
||||
struct image_data *id);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConAddAllReg(rdpPtr dev, RegionPtr reg, DrawablePtr pDrawable);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConAddAllBox(rdpPtr dev, BoxPtr box, DrawablePtr pDrawable);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConSetCursor(rdpPtr dev, rdpClientCon *clientCon,
|
||||
short x, short y, char *cur_data, char *cur_mask);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpClientConSetCursorEx(rdpPtr dev, rdpClientCon *clientCon,
|
||||
short x, short y, char *cur_data,
|
||||
char *cur_mask, int bpp);
|
||||
|
|
|
@ -27,6 +27,7 @@ composite(alpha blending) calls
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
|
|
@ -24,7 +24,11 @@ composite(alpha blending) calls
|
|||
#ifndef _RDPCOMPOSITE_H
|
||||
#define _RDPCOMPOSITE_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpComposite(CARD8 op, PicturePtr pSrc, PicturePtr pMask, PicturePtr pDst,
|
||||
INT16 xSrc, INT16 ySrc, INT16 xMask, INT16 yMask, INT16 xDst,
|
||||
INT16 yDst, CARD16 width, CARD16 height);
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpCopyArea.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,6 +22,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPCOPYAREA_H
|
||||
#define __RDPCOPYAREA_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
RegionPtr
|
||||
rdpCopyArea(DrawablePtr pSrc, DrawablePtr pDst, GCPtr pGC,
|
||||
int srcx, int srcy, int w, int h, int dstx, int dsty);
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpCopyPlane.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,6 +22,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPCOPYPLANE_H
|
||||
#define __RDPCOPYPLANE_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
RegionPtr
|
||||
rdpCopyPlane(DrawablePtr pSrcDrawable, DrawablePtr pDstDrawable,
|
||||
GCPtr pGC, int srcx, int srcy, int width, int height,
|
||||
|
|
|
@ -27,6 +27,7 @@ cursor
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -45,6 +46,7 @@ cursor
|
|||
#include "rdpMain.h"
|
||||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpCursor.h"
|
||||
|
||||
#ifndef X_BYTE_ORDER
|
||||
#warning X_BYTE_ORDER not defined
|
||||
|
|
|
@ -25,20 +25,21 @@ misc draw calls
|
|||
#define __RDPCURSOR_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpSpriteRealizeCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs);
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpSpriteUnrealizeCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpSpriteSetCursor(DeviceIntPtr pDev, ScreenPtr pScr, CursorPtr pCurs,
|
||||
int x, int y);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpSpriteMoveCursor(DeviceIntPtr pDev, ScreenPtr pScr, int x, int y);
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpSpriteDeviceCursorInitialize(DeviceIntPtr pDev, ScreenPtr pScr);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpSpriteDeviceCursorCleanup(DeviceIntPtr pDev, ScreenPtr pScr);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -65,29 +65,29 @@ do { \
|
|||
|
||||
extern GCOps g_rdpGCOps; /* in rdpGC.c */
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpDrawGetClip(rdpPtr dev, RegionPtr pRegion, DrawablePtr pDrawable, GCPtr pGC);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
GetTextBoundingBox(DrawablePtr pDrawable, FontPtr font, int x, int y,
|
||||
int n, BoxPtr pbox);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpDrawItemAdd(rdpPtr dev, rdpPixmapRec *priv, struct rdp_draw_item *di);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpDrawItemRemove(rdpPtr dev, rdpPixmapRec *priv, struct rdp_draw_item *di);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpDrawItemRemoveAll(rdpPtr dev, rdpPixmapRec *priv);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpCopyWindow(WindowPtr pWin, DDXPointRec ptOldOrg, RegionPtr pOldRegion);
|
||||
#if XRDP_CLOSESCR == 1
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpCloseScreen(int index, ScreenPtr pScreen);
|
||||
#else
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpCloseScreen(ScreenPtr pScreen);
|
||||
#endif
|
||||
WindowPtr
|
||||
extern _X_EXPORT WindowPtr
|
||||
rdpGetRootWindowPtr(ScreenPtr pScreen);
|
||||
rdpPtr
|
||||
extern _X_EXPORT rdpPtr
|
||||
rdpGetDevFromScreen(ScreenPtr pScreen);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpFillPolygon.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPFILLPOLYGON_H
|
||||
#define __RDPFILLPOLYGON_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpFillPolygon(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int shape, int mode, int count,
|
||||
DDXPointPtr pPts);
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -32,6 +33,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#include "rdp.h"
|
||||
#include "rdpDraw.h"
|
||||
#include "rdpFillSpans.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,6 +22,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPFILLSPANS_H
|
||||
#define __RDPFILLSPANS_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
void
|
||||
rdpFillSpans(DrawablePtr pDrawable, GCPtr pGC, int nInit,
|
||||
DDXPointPtr pptInit, int* pwidthInit, int fSorted);
|
||||
|
|
|
@ -27,6 +27,7 @@ GC related calls
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -59,6 +60,7 @@ GC related calls
|
|||
#include "rdpPolyGlyphBlt.h"
|
||||
#include "rdpPushPixels.h"
|
||||
#include "rdpDraw.h"
|
||||
#include "rdpGC.h"
|
||||
|
||||
/******************************************************************************/
|
||||
#define LOG_LEVEL 1
|
||||
|
|
|
@ -24,7 +24,11 @@ GC related calls
|
|||
#ifndef _RDPGC_H
|
||||
#define _RDPGC_H
|
||||
|
||||
Bool
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT Bool
|
||||
rdpCreateGC(GCPtr pGC);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -27,6 +27,7 @@ gylph(font) calls
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
|
|
@ -24,6 +24,10 @@ gylph(font) calls
|
|||
#ifndef _RDPGLYPHS_H
|
||||
#define _RDPGLYPHS_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
struct rdp_font_char
|
||||
{
|
||||
int offset; /* x */
|
||||
|
@ -51,9 +55,9 @@ struct rdp_text
|
|||
struct rdp_text* next;
|
||||
};
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpGlyphDeleteRdpText(struct rdp_text* rtext);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
rdpGlyphs(CARD8 op, PicturePtr pSrc, PicturePtr pDst,
|
||||
PictFormatPtr maskFormat,
|
||||
INT16 xSrc, INT16 ySrc, int nlists, GlyphListPtr lists,
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpImageGlyphBlt.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPIMAGEGLYPHBLT_H
|
||||
#define __RDPIMAGEGLYPHBLT_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpImageGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int x, int y, unsigned int nglyph,
|
||||
CharInfoPtr* ppci, pointer pglyphBase);
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpImageText16.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPIMAGETEXT16_H
|
||||
#define __RDPIMAGETEXT16_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpImageText16(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int x, int y, int count, unsigned short* chars);
|
||||
|
||||
|
|
|
@ -25,7 +25,8 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
#include <xf86_OSproc.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpImageText8.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPIMAGETEXT8_H
|
||||
#define __RDPIMAGETEXT8_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpImageText8(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int x, int y, int count, char* chars);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -53,6 +54,7 @@ static struct input_proc_list g_input_proc[MAX_INPUT_PROC];
|
|||
int
|
||||
rdpRegisterInputCallback(int type, rdpInputEventProcPtr proc)
|
||||
{
|
||||
LLOGLN(0, ("rdpRegisterInputCallback: type %d proc %p", type, proc));
|
||||
if (type == 0)
|
||||
{
|
||||
g_input_proc[0].proc = proc;
|
||||
|
@ -73,12 +75,22 @@ int
|
|||
rdpUnregisterInputCallback(rdpInputEventProcPtr proc)
|
||||
{
|
||||
int index;
|
||||
char text[256];
|
||||
|
||||
LLOGLN(0, ("rdpUnregisterInputCallback: proc %p", proc));
|
||||
for (index = 0; index < MAX_INPUT_PROC; index++)
|
||||
{
|
||||
if (g_input_proc[index].proc == proc)
|
||||
{
|
||||
g_input_proc[index].proc = 0;
|
||||
if (index == 0)
|
||||
{
|
||||
/* hack to cleanup
|
||||
remove when xrdpdevTearDown is working */
|
||||
g_sprintf(text, "/tmp/.xrdp/xrdp_display_%s", display);
|
||||
LLOGLN(0, ("rdpUnregisterInputCallback: deleting file %s", text));
|
||||
unlink(text);
|
||||
}
|
||||
g_input_proc[index].proc = 0;
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
|
@ -24,23 +24,27 @@ input
|
|||
#ifndef _RDPINPUT_H
|
||||
#define _RDPINPUT_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
typedef int (*rdpInputEventProcPtr)(rdpPtr dev, int msg,
|
||||
long param1, long param2,
|
||||
long param3, long param4);
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpRegisterInputCallback(int type, rdpInputEventProcPtr proc);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpUnregisterInputCallback(rdpInputEventProcPtr proc);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpInputKeyboardEvent(rdpPtr dev, int msg,
|
||||
long param1, long param2,
|
||||
long param3, long param4);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpInputMouseEvent(rdpPtr dev, int msg,
|
||||
long param1, long param2,
|
||||
long param3, long param4);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpInputInit(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -27,6 +27,7 @@ rdp module main
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -41,6 +42,7 @@ rdp module main
|
|||
#include "rdpInput.h"
|
||||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpMain.h"
|
||||
|
||||
/******************************************************************************/
|
||||
#define LOG_LEVEL 1
|
||||
|
|
|
@ -24,7 +24,11 @@ rdp module main
|
|||
#ifndef __RDPMAIN_H
|
||||
#define __RDPMAIN_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
xorgxrdpDownDown(ScreenPtr pScreen);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -36,11 +36,14 @@ the rest
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
#include <xf86_OSproc.h>
|
||||
|
||||
#include "rdpMisc.h"
|
||||
|
||||
/******************************************************************************/
|
||||
int
|
||||
rdpBitsPerPixel(int depth)
|
||||
|
|
|
@ -24,59 +24,63 @@ the rest
|
|||
#ifndef __RDPMISC_H
|
||||
#define __RDPMISC_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
#include <X11/Xos.h>
|
||||
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpBitsPerPixel(int depth);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_can_recv(int sck, int millis);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_recv(int sck, void *ptr, int len, int flags);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_sck_close(int sck);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_last_error_would_block(int sck);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_sleep(int msecs);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_send(int sck, void *ptr, int len, int flags);
|
||||
void *
|
||||
extern _X_EXPORT void *
|
||||
g_malloc(int size, int zero);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_free(void *ptr);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_sprintf(char *dest, char *format, ...);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_tcp_socket(void);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_local_socket_dgram(void);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_local_socket_stream(void);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_memcpy(void *d_ptr, const void *s_ptr, int size);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_memset(void *d_ptr, const unsigned char chr, int size);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_tcp_set_no_delay(int sck);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_set_non_blocking(int sck);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_accept(int sck);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_select(int sck1, int sck2, int sck3);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_tcp_bind(int sck, char *port);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_local_bind(int sck, char *port);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_sck_listen(int sck);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_create_dir(const char *dirname);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_directory_exist(const char *dirname);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
g_chmod_hex(const char *filename, int flags);
|
||||
void
|
||||
extern _X_EXPORT void
|
||||
g_hexdump(void *p, long len);
|
||||
|
||||
#if defined(X_BYTE_ORDER)
|
||||
|
|
|
@ -26,6 +26,7 @@ pixmap calls
|
|||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
#if XORG_VERSION_CURRENT < XORG_VERSION_NUMERIC(1, 5, 0, 0, 0)
|
||||
/* 1.1, 1.2, 1.3, 1.4 */
|
||||
|
@ -36,16 +37,16 @@ pixmap calls
|
|||
#endif
|
||||
|
||||
#if XRDP_PIX == 2
|
||||
PixmapPtr
|
||||
extern _X_EXPORT PixmapPtr
|
||||
rdpCreatePixmap(ScreenPtr pScreen, int width, int height, int depth,
|
||||
unsigned usage_hint);
|
||||
#else
|
||||
PixmapPtr
|
||||
extern _X_EXPORT PixmapPtr
|
||||
rdpCreatePixmap(ScreenPtr pScreen, int width, int height, int depth);
|
||||
#endif
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpDestroyPixmap(PixmapPtr pPixmap);
|
||||
Bool
|
||||
extern _X_EXPORT Bool
|
||||
rdpModifyPixmapHeader(PixmapPtr pPixmap, int width, int height, int depth,
|
||||
int bitsPerPixel, int devKind, pointer pPixData);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyArc.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYARC_H
|
||||
#define __RDPPOLYARC_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolyArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc* parcs);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyFillArc.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYFILLARC_H
|
||||
#define __RDPPOLYFILLARC_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolyFillArc(DrawablePtr pDrawable, GCPtr pGC, int narcs, xArc* parcs);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyFillRect.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYFILLRECT_H
|
||||
#define __RDPPOLYFILLRECT_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolyFillRect(DrawablePtr pDrawable, GCPtr pGC, int nrectFill,
|
||||
xRectangle* prectInit);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyGlyphBlt.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYGLYPHBLT_H
|
||||
#define __RDPPOLYGLYPHBLT_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolyGlyphBlt(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int x, int y, unsigned int nglyph,
|
||||
CharInfoPtr* ppci, pointer pglyphBase);
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyPoint.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYPOINT_H
|
||||
#define __RDPPOLYPOINT_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolyPoint(DrawablePtr pDrawable, GCPtr pGC, int mode,
|
||||
int npt, DDXPointPtr in_pts);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyRectangle.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYRECTANGLE_H
|
||||
#define __RDPPOLYRECTANGLE_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolyRectangle(DrawablePtr pDrawable, GCPtr pGC, int nrects,
|
||||
xRectangle* rects);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolySegment.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYSEGMENT_H
|
||||
#define __RDPPOLYSEGMENT_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPolySegment(DrawablePtr pDrawable, GCPtr pGC, int nseg, xSegment* pSegs);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyText16.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYTEXT16_H
|
||||
#define __RDPPOLYTEXT16_H
|
||||
|
||||
int
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT int
|
||||
rdpPolyText16(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int x, int y, int count, unsigned short* chars);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolyText8.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,6 +22,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYTEXT8_H
|
||||
#define __RDPPOLYTEXT8_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
int
|
||||
rdpPolyText8(DrawablePtr pDrawable, GCPtr pGC,
|
||||
int x, int y, int count, char* chars);
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPolylines.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,6 +22,10 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPOLYLINES_H
|
||||
#define __RDPPOLYLINES_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
void
|
||||
rdpPolylines(DrawablePtr pDrawable, GCPtr pGC, int mode,
|
||||
int npt, DDXPointPtr pptInit);
|
||||
|
|
|
@ -24,24 +24,28 @@ to deal with privates changing in xorg versions
|
|||
#ifndef _XRDPPRI_H
|
||||
#define _XRDPPRI_H
|
||||
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
#include <screenint.h>
|
||||
#include <gc.h>
|
||||
|
||||
typedef void* rdpDevPrivateKey;
|
||||
|
||||
rdpDevPrivateKey
|
||||
extern _X_EXPORT rdpDevPrivateKey
|
||||
rdpAllocateGCPrivate(ScreenPtr pScreen, int bytes);
|
||||
rdpDevPrivateKey
|
||||
extern _X_EXPORT rdpDevPrivateKey
|
||||
rdpAllocatePixmapPrivate(ScreenPtr pScreen, int bytes);
|
||||
rdpDevPrivateKey
|
||||
extern _X_EXPORT rdpDevPrivateKey
|
||||
rdpAllocateWindowPrivate(ScreenPtr pScreen, int bytes);
|
||||
void*
|
||||
extern _X_EXPORT void*
|
||||
rdpGetGCPrivate(GCPtr pGC, rdpDevPrivateKey key);
|
||||
void*
|
||||
extern _X_EXPORT void*
|
||||
rdpGetPixmapPrivate(PixmapPtr pPixmap, rdpDevPrivateKey key);
|
||||
void*
|
||||
extern _X_EXPORT void*
|
||||
rdpGetWindowPrivate(WindowPtr pWindow, rdpDevPrivateKey key);
|
||||
int
|
||||
extern _X_EXPORT int
|
||||
rdpPrivateInit(void);
|
||||
|
||||
#endif
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -32,13 +33,14 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
#include "rdp.h"
|
||||
#include "rdpDraw.h"
|
||||
#include "rdpPushPixels.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
do { if (_level < LOG_LEVEL) { ErrorF _args ; ErrorF("\n"); } } while (0)
|
||||
|
||||
/******************************************************************************/
|
||||
void
|
||||
static void
|
||||
rdpPushPixelsOrg(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
|
||||
int w, int h, int x, int y)
|
||||
{
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPUSHPIXELS_H
|
||||
#define __RDPPUSHPIXELS_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPushPixels(GCPtr pGC, PixmapPtr pBitMap, DrawablePtr pDst,
|
||||
int w, int h, int x, int y);
|
||||
|
||||
|
|
|
@ -25,6 +25,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
|
||||
/* this should be before all X11 .h files */
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
|
||||
/* all driver need this */
|
||||
#include <xf86.h>
|
||||
|
@ -34,6 +35,7 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpClientCon.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpPutImage.h"
|
||||
|
||||
#define LOG_LEVEL 1
|
||||
#define LLOGLN(_level, _args) \
|
||||
|
|
|
@ -22,7 +22,11 @@ CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
|
|||
#ifndef __RDPPUTIMAGE_H
|
||||
#define __RDPPUTIMAGE_H
|
||||
|
||||
void
|
||||
#include <xorg-server.h>
|
||||
#include <xorgVersion.h>
|
||||
#include <xf86.h>
|
||||
|
||||
extern _X_EXPORT void
|
||||
rdpPutImage(DrawablePtr pDst, GCPtr pGC, int depth, int x, int y,
|
||||
int w, int h, int leftPad, int format, char* pBits);
|
||||
|
||||
|
|
|
@ -42,6 +42,7 @@ RandR draw calls
|
|||
#include "rdpDraw.h"
|
||||
#include "rdpReg.h"
|
||||
#include "rdpMisc.h"
|
||||
#include "rdpRandR.h"
|
||||
|
||||
/******************************************************************************/
|
||||
#define LOG_LEVEL 1
|
||||
|
@ -119,8 +120,9 @@ rdpRRScreenSetSize(ScreenPtr pScreen, CARD16 width, CARD16 height,
|
|||
pScreen->mmWidth = mmWidth;
|
||||
pScreen->mmHeight = mmHeight;
|
||||
screenPixmap = pScreen->GetScreenPixmap(pScreen);
|
||||
g_free(dev->pfbMemory);
|
||||
dev->pfbMemory = (char *) g_malloc(dev->sizeInBytes, 1);
|
||||
g_free(dev->pfbMemory_alloc);
|
||||
dev->pfbMemory_alloc = (char *) g_malloc(dev->sizeInBytes + 16, 1);
|
||||
dev->pfbMemory = (char *) RDPALIGN(dev->pfbMemory_alloc, 16);
|
||||
if (screenPixmap != 0)
|
||||
{
|
||||
pScreen->ModifyPixmapHeader(screenPixmap, width, height,
|
||||
|
|
Some files were not shown because too many files have changed in this diff Show More
Loading…
Reference in New Issue