This repository has been archived by the owner. It is now read-only.
Permalink

Comparing changes

Choose two branches to see what’s changed or to start a new pull request. If you need to, you can also .

Open a pull request

Create a new pull request by comparing changes across two branches. If you need to, you can also .
Choose a Base Repository
symless/synergy-core
brahma-dev/synergy-stable-builds
Albicorp/synergy
AwesomeDoesIt/synergy
Bakalchuk/synergy
BogdanLivadariu/synergy
BorisChiou/synergy
Charcol/synergy
Coolred/synergy
Craigk109/synergy
DALDEI/synergy
DavidST44/synergy
DiegoSousa/synergy
DonnaWuDongxia/synergy
Dracophoenix1/synergy
Flare183/synergy
HerrGrumps/synergy
HomeTheaterOperatingSystem/synergy-core
Independent-Scientist/synergy
JaapSuter/synergy
JimDu/synergy
Joiningss/synergy
JoshMcCullough/synergy
KentVu/synergy
Lesthat/synergy
LiangChen0322/synergy
MarceColl/synergy
Mebus/synergy
MikeKnieriem/synergy
Nihil7354/synergy
OrangeUtan/synergy-stable-builds
ProjectLeaf/synergy
RaccoonTeam/synergy
RafalXXL/synergy
SeniorCoder1025/synergy
Sevea/synergy-1
SheaReinke/synergy
Toasterfist/synergy
UIKit0/synergy
Werror/synergy
Wkryst/synergy
XelaRellum/synergy
ahwagner/synergy
aladagli/synergy
alancapc/synergy
alex-deng/synergy
alexzzp/synergy
amitkr/synergy
andyesi/synergy
anthraxx/synergyunfuck
artisdom/synergy
artiya4u/synergy
astamatix/synergy
austin-laney/synergy
axela74/synergy
ballifatih/synergy
barisi/synergy
beedz/synergy
blnk2007/synergy
caramis/synergy
carballude/synergy
cardonator/synergy
carlosfvp/synergy
carstenlaengerer/synergy
cchwann/synergy
changdongsheng/synergy
chaomengnan/synergy
chedlin/synergy
chengguangnan/synergy
cjliu20152/synergy
clonkymonk/synergy
cribe78/synergy
dannon/synergy
darongE/synergy
davidchanff/synergy
dcrum/synergy
debauchee/barrier
deliangyang/synergy
dguerri/synergy
dijkstraj/synergy
divegeek/synergy
dpereira/synergy
dpolivy/synergy
duboisp/synergy
eaglecomp01/synergy
edwardsp/synergy
elitvinenko/synergy
fashioncj/synergy
fatdollar/synergy
fc205/synergy
feng-ye/synergy
fenggao86/synergy
fernandodeperto/synergy
frank-emrich/synergy
frankmanzhu/synergy
fuckobama/synergy
funixfu/synergy
fuzhuo/synergy
galkinvv/synergy
ghostreiter/synergy
gitscrubz/synergy
gtorressfdc/synergy
guangyue/synergy
hanks42/synergy
hanoseok/synergy
hcxiong/synergy
heathschweitzer/synergy
helkanen/synergy
hifi-dd/synergy
hoaluvn/synergy
hyei/synergy
iamcxa/synergy
ichengde/synergy
inche-ali/synergy
itchanges/synergy
iurnah/synergy
jcoming/synergy
jpmcmu/synergy
jpwhiting/synergy
julian-amaya/synergy
kaixinsoft/synergy
karolw/synergy
kash4kev/synergy
kellyhuberty/synergy
kissfu/synergy
kmrbrierley/synergy
ko7m/synergy
liuhuimin/synergy
lookat119/synergy
lukeqsun/synergy
makaanneo/synergy-1
margaritis/synergy
mcamiano/synergy
mcanthony/synergy
md11235/synergy
meowfaceman/synergy
midnite8177/synergy
moben/synergy
moodboom/synergy
museroom/synergy
neilmayhew/synergy
neuroradiology/synergy
nmadhok/synergy
noital/synergy
nyetwurk/synergy
ommokazza/synergy
onlymee/synergy
pdecat/synergy
peteo/synergy-stable-builds
phackss/synergy
piboye/synergy
ptg001/synergy
qbektrix/synergy
rajserc/synergy
ralluri/synergy
rmagnuson/synergy
saburahu/synergy
saiksy/synergy
sami1971/synergy
sarvex/synergy
scorpblog/synergy
sebpardo/synergy
serenemoon/synergy
shanesims/synergy
sharkpp/synergy
shaunliz/synergy
shawnanastasio/synergy
sl1pm4t/synergy
smittex/synergy
solokacher/synergy
songei/synergy-core
spurin/synergy
stelonix/synergy
stipid/synergy
terry2010/synergy
the-wes/synergy
thesoftwarejedi/synergy
timmui/synergy
tpraturi/synergy
utwodownson/synergy
vaginessa/synergy
whereyougo/synergy
willleslie/synergy
wjcsharp/synergy
wolrah/synergy
xiaoping378/synergy
xiyuanHou/synergy
xuerik/synergy
yajun0601/synergy
yangchengwork/synergy
yarec/synergy
ylluminate/synergy
yucheng82/synergy
yulin0629/synergy
yupi2/synergy
yyppaag/synergy
zbrode/synergy
zdndanny/synergy
zengyijie/synergy
zhanglongqi/synergy
Nothing to show
...
Choose a Head Repository
symless/synergy-core
brahma-dev/synergy-stable-builds
Albicorp/synergy
AwesomeDoesIt/synergy
Bakalchuk/synergy
BogdanLivadariu/synergy
BorisChiou/synergy
Charcol/synergy
Coolred/synergy
Craigk109/synergy
DALDEI/synergy
DavidST44/synergy
DiegoSousa/synergy
DonnaWuDongxia/synergy
Dracophoenix1/synergy
Flare183/synergy
HerrGrumps/synergy
HomeTheaterOperatingSystem/synergy-core
Independent-Scientist/synergy
JaapSuter/synergy
JimDu/synergy
Joiningss/synergy
JoshMcCullough/synergy
KentVu/synergy
Lesthat/synergy
LiangChen0322/synergy
MarceColl/synergy
Mebus/synergy
MikeKnieriem/synergy
Nihil7354/synergy
OrangeUtan/synergy-stable-builds
ProjectLeaf/synergy
RaccoonTeam/synergy
RafalXXL/synergy
SeniorCoder1025/synergy
Sevea/synergy-1
SheaReinke/synergy
Toasterfist/synergy
UIKit0/synergy
Werror/synergy
Wkryst/synergy
XelaRellum/synergy
ahwagner/synergy
aladagli/synergy
alancapc/synergy
alex-deng/synergy
alexzzp/synergy
amitkr/synergy
andyesi/synergy
anthraxx/synergyunfuck
artisdom/synergy
artiya4u/synergy
astamatix/synergy
austin-laney/synergy
axela74/synergy
ballifatih/synergy
barisi/synergy
beedz/synergy
blnk2007/synergy
caramis/synergy
carballude/synergy
cardonator/synergy
carlosfvp/synergy
carstenlaengerer/synergy
cchwann/synergy
changdongsheng/synergy
chaomengnan/synergy
chedlin/synergy
chengguangnan/synergy
cjliu20152/synergy
clonkymonk/synergy
cribe78/synergy
dannon/synergy
darongE/synergy
davidchanff/synergy
dcrum/synergy
debauchee/barrier
deliangyang/synergy
dguerri/synergy
dijkstraj/synergy
divegeek/synergy
dpereira/synergy
dpolivy/synergy
duboisp/synergy
eaglecomp01/synergy
edwardsp/synergy
elitvinenko/synergy
fashioncj/synergy
fatdollar/synergy
fc205/synergy
feng-ye/synergy
fenggao86/synergy
fernandodeperto/synergy
frank-emrich/synergy
frankmanzhu/synergy
fuckobama/synergy
funixfu/synergy
fuzhuo/synergy
galkinvv/synergy
ghostreiter/synergy
gitscrubz/synergy
gtorressfdc/synergy
guangyue/synergy
hanks42/synergy
hanoseok/synergy
hcxiong/synergy
heathschweitzer/synergy
helkanen/synergy
hifi-dd/synergy
hoaluvn/synergy
hyei/synergy
iamcxa/synergy
ichengde/synergy
inche-ali/synergy
itchanges/synergy
iurnah/synergy
jcoming/synergy
jpmcmu/synergy
jpwhiting/synergy
julian-amaya/synergy
kaixinsoft/synergy
karolw/synergy
kash4kev/synergy
kellyhuberty/synergy
kissfu/synergy
kmrbrierley/synergy
ko7m/synergy
liuhuimin/synergy
lookat119/synergy
lukeqsun/synergy
makaanneo/synergy-1
margaritis/synergy
mcamiano/synergy
mcanthony/synergy
md11235/synergy
meowfaceman/synergy
midnite8177/synergy
moben/synergy
moodboom/synergy
museroom/synergy
neilmayhew/synergy
neuroradiology/synergy
nmadhok/synergy
noital/synergy
nyetwurk/synergy
ommokazza/synergy
onlymee/synergy
pdecat/synergy
peteo/synergy-stable-builds
phackss/synergy
piboye/synergy
ptg001/synergy
qbektrix/synergy
rajserc/synergy
ralluri/synergy
rmagnuson/synergy
saburahu/synergy
saiksy/synergy
sami1971/synergy
sarvex/synergy
scorpblog/synergy
sebpardo/synergy
serenemoon/synergy
shanesims/synergy
sharkpp/synergy
shaunliz/synergy
shawnanastasio/synergy
sl1pm4t/synergy
smittex/synergy
solokacher/synergy
songei/synergy-core
spurin/synergy
stelonix/synergy
stipid/synergy
terry2010/synergy
the-wes/synergy
thesoftwarejedi/synergy
timmui/synergy
tpraturi/synergy
utwodownson/synergy
vaginessa/synergy
whereyougo/synergy
willleslie/synergy
wjcsharp/synergy
wolrah/synergy
xiaoping378/synergy
xiyuanHou/synergy
xuerik/synergy
yajun0601/synergy
yangchengwork/synergy
yarec/synergy
ylluminate/synergy
yucheng82/synergy
yulin0629/synergy
yupi2/synergy
yyppaag/synergy
zbrode/synergy
zdndanny/synergy
zengyijie/synergy
zhanglongqi/synergy
Nothing to show
Commits on Jan 23, 2016
jiwoong.yoo
jiwoong.yoo
Korean and Japanese keyboards have same keycode
(VK_HANGUL == VK_KANA and VK_HANJA == VK_KANJI)
But They have different X11 keysym.
Commits on Jan 25, 2016
jiwoong.yoo
jiwoong.yoo
jiwoong.yoo
jiwoong.yoo
Korean and Japanese keyboards have same keycode
(VK_HANGUL == VK_KANA and VK_HANJA == VK_KANJI)
But They have different X11 keysym.
Commits on Jan 29, 2016
Commits on Apr 14, 2016
jiwoong.yoo
jiwoong.yoo
Korean and Japanese keyboards have same keycode
(VK_HANGUL == VK_KANA and VK_HANJA == VK_KANJI)
But They have different X11 keysym.
jiwoong.yoo
jiwoong.yoo
Commits on Apr 18, 2016
Commits on Apr 19, 2016
Commits on Aug 11, 2016
Commits on Sep 30, 2016
Commits on Oct 18, 2016
Update ISSUE_TEMPLATE.md
Moved the 'Server' and 'Client' fields around
Commits on Oct 26, 2016
Commits on Oct 28, 2016
Commits on Oct 31, 2016
#5699 Add Mac deploy argument in configure command
If deploy target is not specified, it would use the specified sdk
version
Commits on Nov 01, 2016
Commits on Nov 02, 2016
Commits on Nov 03, 2016
Commits on Nov 11, 2016
Commits on Nov 22, 2016
Commits on Dec 06, 2016
Commits on Dec 07, 2016
@@ -1,8 +1,7 @@
### Operating Systems ###
-Client: Applesoft Windy OS 10
-
Server: microOS Tiara
+Client: Applesoft Windy OS 10
**READ ME, DELETE ME**: On Windows, hold the Windows key and press 'r', type 'winver' and hit return to get your OS version. On Mac, hit the Apple menu (top left of the screen) and check 'About this Mac'. Linux users... you know what you're using ;)
View
@@ -17,8 +17,8 @@
# Version number for Synergy
set(VERSION_MAJOR 1)
set(VERSION_MINOR 8)
-set(VERSION_REV 5)
-set(VERSION_STAGE stable)
+set(VERSION_REV 6)
+set(VERSION_STAGE rc2)
set(VERSION "${VERSION_MAJOR}.${VERSION_MINOR}.${VERSION_REV}")
cmake_minimum_required(VERSION 2.6)
View
@@ -41,7 +41,7 @@ class Toolchain:
cmd_opt_dict = {
'about' : ['', []],
'setup' : ['g:', ['generator=']],
- 'configure' : ['g:dr', ['generator=', 'debug', 'release', 'mac-sdk=', 'mac-identity=']],
+ 'configure' : ['g:dr', ['generator=', 'debug', 'release', 'mac-sdk=', 'mac-deploy=', 'mac-identity=']],
'build' : ['dr', ['debug', 'release']],
'clean' : ['dr', ['debug', 'release']],
'update' : ['', []],
@@ -244,6 +244,9 @@ class InternalCommands:
# by default, unknown
macSdk = None
+ # by default, unknown
+ macDeploy = None
+
# by default, unknown
macIdentity = None
@@ -365,7 +368,7 @@ def configure(self, target='', extraArgs=''):
# ensure latest setup and do not ask config for generator (only fall
# back to prompt if not specified as arg)
self.ensure_setup_latest()
-
+
if sys.platform == "darwin":
config = self.getConfig()
@@ -374,6 +377,11 @@ def configure(self, target='', extraArgs=''):
elif config.has_option("hm", "macSdk"):
self.macSdk = config.get('hm', 'macSdk')
+ if self.macDeploy:
+ config.set('hm', 'macDeploy', self.macDeploy)
+ elif config.has_option("hm", "macDeploy"):
+ self.macSdk = config.get('hm', 'macDeploy')
+
if self.macIdentity:
config.set('hm', 'macIdentity', self.macIdentity)
elif config.has_option("hm", "macIdentity"):
@@ -383,7 +391,10 @@ def configure(self, target='', extraArgs=''):
if not self.macSdk:
raise Exception("Arg missing: --mac-sdk <version>");
-
+
+ if not self.macDeploy:
+ self.macDeploy = self.macSdk
+
if not self.macIdentity:
raise Exception("Arg missing: --mac-identity <name>");
@@ -438,7 +449,7 @@ def configureCore(self, target="", extraArgs=""):
if generator.cmakeName.find('Unix Makefiles') == -1:
sdkDir = self.getMacSdkDir()
cmake_args += " -DCMAKE_OSX_SYSROOT=" + sdkDir
- cmake_args += " -DCMAKE_OSX_DEPLOYMENT_TARGET=" + self.macSdk
+ cmake_args += " -DCMAKE_OSX_DEPLOYMENT_TARGET=" + self.macDeploy
cmake_args += " -DOSX_TARGET_MAJOR=" + macSdkMatch.group(1)
cmake_args += " -DOSX_TARGET_MINOR=" + macSdkMatch.group(2)
@@ -498,8 +509,8 @@ def configureGui(self, target="", extraArgs=""):
sdkDir = self.getMacSdkDir()
shortForm = "macosx" + self.macSdk
version = str(major) + "." + str(minor)
-
- qmake_cmd_string += " QMAKE_MACOSX_DEPLOYMENT_TARGET=" + version
+
+ qmake_cmd_string += " QMAKE_MACOSX_DEPLOYMENT_TARGET=" + self.macDeploy
(qMajor, qMinor, qRev) = self.getQmakeVersion()
if qMajor <= 4:
@@ -656,6 +667,9 @@ def loadConfig(self):
if config.has_option("hm", "macSdk"):
self.macSdk = config.get("hm", "macSdk")
+
+ if config.has_option("hm", "macDeploy"):
+ self.macDeploy = config.get("hm", "macDeploy")
if config.has_option("hm", "macIdentity"):
self.macIdentity = config.get("hm", "macIdentity")
@@ -1843,7 +1857,10 @@ def getMacPackageName(self):
# version is major and minor with no dots (e.g. 106)
version = str(major) + str(minor)
- return "MacOSX%s-%s" % (version, arch)
+ if (self.macDeploy == self.macSdk):
+ return "MacOSX%s-%s" % (version, arch)
+ else:
+ return "MacOSX-%s" % arch
def reset(self):
if os.path.exists('build'):
@@ -1898,6 +1915,8 @@ def __init__(self, argv, opts, args, verbose):
self.qtDir = a
elif o == '--mac-sdk':
self.ic.macSdk = a
+ elif o == '--mac-deploy':
+ self.ic.macDeploy = a
elif o == '--mac-identity':
self.ic.macIdentity = a
View
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<assembly xmlns="urn:schemas-microsoft-com:asm.v1" xmlns:asmv3="urn:schemas-microsoft-com:asm.v3" manifestVersion="1.0">
- <compatibility xmlns="urn:schemas-microsoft-com:compatibility.v1">
- <application>
- <!-- Windows 7 -->
- <supportedOS Id="{35138b9a-5d96-4fbd-8e2d-a2440225f93a}" />
- </application>
- </compatibility>
- <asmv3:application>
- <asmv3:windowsSettings xmlns="http://schemas.microsoft.com/SMI/2005/WindowsSettings">
- <dpiAware>true</dpiAware>
- </asmv3:windowsSettings>
- </asmv3:application>
-</assembly>
-
@@ -60,15 +60,6 @@ add_executable(synergyc ${sources})
target_link_libraries(synergyc
arch base client common io mt net ipc platform server synergy ${libs} ${OPENSSL_LIBS})
-if (WIN32)
- ADD_CUSTOM_COMMAND(
- TARGET synergyc
- POST_BUILD
- COMMAND "mt.exe" -manifest \"${CMAKE_SOURCE_DIR}\\res\\dpiaware.manifest\" -inputresource:\"$<TARGET_FILE:synergyc>\"\;\#1 -outputresource:\"$<TARGET_FILE:synergyc>\"\;\#1
- COMMENT "Adding display aware manifest..."
- )
-endif()
-
if (CONF_CPACK)
install(TARGETS
synergyc
@@ -37,15 +37,6 @@ endif()
target_link_libraries(synergyd
arch base common io ipc mt net platform synergy shared ${libs} ${OPENSSL_LIBS})
-if (WIN32)
- ADD_CUSTOM_COMMAND(
- TARGET synergyd
- POST_BUILD
- COMMAND "mt.exe" -manifest \"${CMAKE_SOURCE_DIR}\\res\\dpiaware.manifest\" -inputresource:\"$<TARGET_FILE:synergyd>\"\;\#1 -outputresource:\"$<TARGET_FILE:synergyd>\"\;\#1
- COMMENT "Adding display aware manifest..."
- )
-endif()
-
if (CONF_CPACK)
install(TARGETS
synergyd
@@ -60,15 +60,6 @@ add_executable(synergys ${sources})
target_link_libraries(synergys
arch base client common io mt net ipc platform server synergy ${libs} ${OPENSSL_LIBS})
-if (WIN32)
- ADD_CUSTOM_COMMAND(
- TARGET synergys
- POST_BUILD
- COMMAND "mt.exe" -manifest \"${CMAKE_SOURCE_DIR}\\res\\dpiaware.manifest\" -inputresource:\"$<TARGET_FILE:synergys>\"\;\#1 -outputresource:\"$<TARGET_FILE:synergys>\"\;\#1
- COMMENT "Adding display aware manifest..."
- )
-endif()
-
if (CONF_CPACK)
install(TARGETS
synergys
@@ -330,11 +330,13 @@
<tabstop>m_pLineEditScreenName</tabstop>
<tabstop>m_pSpinBoxPort</tabstop>
<tabstop>m_pLineEditInterface</tabstop>
+ <tabstop>m_pComboElevate</tabstop>
+ <tabstop>m_pCheckBoxAutoHide</tabstop>
+ <tabstop>m_pCheckBoxEnableCrypto</tabstop>
<tabstop>m_pComboLogLevel</tabstop>
<tabstop>m_pCheckBoxLogToFile</tabstop>
<tabstop>m_pLineEditLogFilename</tabstop>
<tabstop>m_pButtonBrowseLog</tabstop>
- <tabstop>buttonBox</tabstop>
</tabstops>
<resources/>
<connections>
@@ -71,7 +71,8 @@ void ActivationDialog::accept()
std::pair<bool, QString> result;
try {
- QString serialKey = ui->m_pTextEditSerialKey->toPlainText().trimmed();
+ SerialKey serialKey (ui->m_pTextEditSerialKey->toPlainText().
+ trimmed().toStdString());
result = m_LicenseManager->setSerialKey(serialKey);
}
catch (std::exception& e) {
@@ -161,7 +161,7 @@ void AppConfig::loadSettings()
m_ActivateEmail = settings().value("activateEmail", "").toString();
m_CryptoEnabled = settings().value("cryptoEnabled", true).toBool();
m_AutoHide = settings().value("autoHide", false).toBool();
- m_Serialkey = settings().value("serialKey", "").toString();
+ m_Serialkey = settings().value("serialKey", "").toString().trimmed();
m_lastVersion = settings().value("lastVersion", "Unknown").toString();
m_LastExpiringWarningTime = settings().value("lastExpiringWarningTime", 0).toInt();
m_ActivationHasRun = settings().value("activationHasRun", false).toBool();
@@ -29,11 +29,10 @@ LicenseManager::LicenseManager(AppConfig* appConfig) :
}
std::pair<bool, QString>
-LicenseManager::setSerialKey(QString serialKeyString, bool acceptExpired)
+LicenseManager::setSerialKey(SerialKey serialKey, bool acceptExpired)
{
std::pair<bool, QString> ret (true, "");
time_t currentTime = ::time(0);
- SerialKey serialKey (serialKeyString.toStdString());
if (!acceptExpired && serialKey.isExpired(currentTime)) {
ret.first = false;
@@ -44,7 +43,8 @@ LicenseManager::setSerialKey(QString serialKeyString, bool acceptExpired)
if (serialKey != m_serialKey) {
using std::swap;
swap (serialKey, m_serialKey);
- m_AppConfig->setSerialKey(serialKeyString);
+ m_AppConfig->setSerialKey(QString::fromStdString
+ (serialKey.toString()));
emit serialKeyChanged(m_serialKey);
if (serialKey.isTrial()) {
@@ -114,7 +114,13 @@ LicenseManager::serialKey() const
void LicenseManager::refresh()
{
if (!m_AppConfig->serialKey().isEmpty()) {
- setSerialKey(m_AppConfig->serialKey(), true);
+ try {
+ SerialKey serialKey (m_AppConfig->serialKey().toStdString());
+ setSerialKey(serialKey, true);
+ } catch (...) {
+ m_AppConfig->clearSerialKey();
+ m_AppConfig->saveSettings();
+ }
}
if (m_serialKey.isExpired(::time(0))) {
emit endTrial(true);
@@ -30,7 +30,8 @@ class LicenseManager: public QObject
public:
LicenseManager(AppConfig* appConfig);
- std::pair<bool, QString> setSerialKey(QString serialKey, bool acceptExpired = false);
+ std::pair<bool, QString> setSerialKey(SerialKey serialKey,
+ bool acceptExpired = false);
void refresh();
Edition activeEdition() const;
QString activeEditionName() const;
View
@@ -808,25 +808,6 @@ bool MainWindow::serverArgs(QStringList& args, QString& app)
args << "--serial-key" << appConfig().serialKey();
}
-#if defined(Q_OS_WIN)
- // pass in physical resolution and primary screen center
- // TODO: get this information in the core binary even when
- // high DPI is used
- int height = QApplication::desktop()->height();
- int width = QApplication::desktop()->width();
-
- QRect rec = QApplication::desktop()->screenGeometry();
- int heightCenter = rec.height() / 2;
- int widthCenter = rec.width() / 2;
-
- appendLogDebug(tr("screen resolution: %1 %2 primary screen center: %3 %4")
- .arg(width).arg(height).arg(widthCenter).arg(heightCenter));
-
- args << "--res-w" << QString::number(width);
- args << "--res-h" << QString::number(height);
- args << "--prm-wc" << QString::number(widthCenter);
- args << "--prm-hc" << QString::number(heightCenter);
- #endif
return true;
}
@@ -76,5 +76,5 @@ ArchSystemUnix::setting(const std::string&, const std::string&) const
std::string
ArchSystemUnix::getLibsUsed(void) const
{
- return "not implmented.\nuse lsof on shell";
+ return "not implemented.\nuse lsof on shell";
}
@@ -61,11 +61,11 @@ const KeyID MSWindowsKeyState::s_virtualKey[] =
/* 0x012 */ { kKeyAlt_L }, // VK_MENU
/* 0x013 */ { kKeyPause }, // VK_PAUSE
/* 0x014 */ { kKeyCapsLock }, // VK_CAPITAL
- /* 0x015 */ { kKeyHangulKana }, // VK_HANGUL, VK_KANA
+ /* 0x015 */ { kKeyKana }, // VK_HANGUL, VK_KANA
/* 0x016 */ { kKeyNone }, // undefined
/* 0x017 */ { kKeyNone }, // VK_JUNJA
/* 0x018 */ { kKeyNone }, // VK_FINAL
- /* 0x019 */ { kKeyHanjaKanzi }, // VK_KANJI
+ /* 0x019 */ { kKeyKanzi }, // VK_HANJA, VK_KANJI
/* 0x01a */ { kKeyNone }, // undefined
/* 0x01b */ { kKeyEscape }, // VK_ESCAPE
/* 0x01c */ { kKeyHenkan }, // VK_CONVERT
@@ -318,11 +318,11 @@ const KeyID MSWindowsKeyState::s_virtualKey[] =
/* 0x112 */ { kKeyAlt_R }, // VK_MENU
/* 0x113 */ { kKeyNone }, // VK_PAUSE
/* 0x114 */ { kKeyNone }, // VK_CAPITAL
- /* 0x115 */ { kKeyNone }, // VK_KANA
- /* 0x116 */ { kKeyNone }, // VK_HANGUL
+ /* 0x115 */ { kKeyNone }, // VK_KANA, VK_HANGUL
+ /* 0x116 */ { kKeyNone }, // undefined
/* 0x117 */ { kKeyNone }, // VK_JUNJA
/* 0x118 */ { kKeyNone }, // VK_FINAL
- /* 0x119 */ { kKeyNone }, // VK_KANJI
+ /* 0x119 */ { kKeyNone }, // VK_HANJA, VK_KANJI
/* 0x11a */ { kKeyNone }, // undefined
/* 0x11b */ { kKeyNone }, // VK_ESCAPE
/* 0x11c */ { kKeyNone }, // VK_CONVERT
@@ -1339,8 +1339,19 @@ MSWindowsKeyState::setWindowGroup(SInt32 group)
}
KeyID
-MSWindowsKeyState::getKeyID(UINT virtualKey, KeyButton button)
+MSWindowsKeyState::getKeyID(UINT virtualKey, KeyButton button) const
{
+ // VK_HANGUL == VK_KANA and VK_HANJA == VK_KANJI. (Those change IME mode)
+ // But they have different X11 keysym. So we should distinguish them.
+ if ((LOWORD(m_keyLayout) & 0xffffu) == 0x0412u) { // 0x0412 : Korean Locale ID
+ if (virtualKey == VK_HANGUL) {
+ return kKeyHangul;
+ }
+ if (virtualKey == VK_HANJA) {
+ return kKeyHanja;
+ }
+ }
+
if ((button & 0x100u) != 0) {
virtualKey += 0x100u;
}
@@ -1392,3 +1403,4 @@ MSWindowsKeyState::addKeyEntry(synergy::KeyMap& keyMap, synergy::KeyMap::KeyItem
m_keyToVKMap[item.m_id] = static_cast<UINT>(item.m_client);
}
}
+
@@ -122,7 +122,7 @@ class MSWindowsKeyState : public KeyState {
(button should include the extended key bit), or kKeyNone if there is
no such key.
*/
- static KeyID getKeyID(UINT virtualKey, KeyButton button);
+ KeyID getKeyID(UINT virtualKey, KeyButton button) const;
//! Map button to virtual key
/*!
Oops, something went wrong.

No commit comments for this range