Deskflow 1.26.0.418
Keyboard and mouse sharing utility
Loading...
Searching...
No Matches
XkbLayoutsParser.h
Go to the documentation of this file.
1/*
2 * Deskflow -- mouse and keyboard sharing utility
3 * SPDX-FileCopyrightText: (C) 2026 Deskflow Developers
4 * SPDX-FileCopyrightText: (C) 2012 - 2016 Synergy App Ltd
5 * SPDX-FileCopyrightText: (C) 2002 Chris Schoeneman
6 * SPDX-License-Identifier: GPL-2.0-only WITH LicenseRef-OpenSSL-Exception
7 */
8
9#if WINAPI_XWINDOWS
10#pragma once
11
12#include <string>
13#include <vector>
14
15class XkbLayoutsParser
16{
17public:
18 static std::vector<std::string> getXkbLanguageList();
19 static std::string convertLayoutToISO(const std::string &layoutLangCode);
20
21private:
22 struct Lang
23 {
24 std::string name = "";
25 std::vector<std::string> layoutBaseISO639_2;
26 std::vector<Lang> variants;
27 };
28
29 static std::vector<Lang> getAllLanguageData();
30
31 static void appendVectorUniq(const std::vector<std::string> &source, std::vector<std::string> &dst);
32
33 static void convertLayoutToISO639_2(
34 const std::vector<std::string> &layoutNames, const std::vector<std::string> &layoutVariantNames,
35 std::vector<std::string> &iso639_2Codes
36 );
37
38 static std::vector<std::string> convertISO639_2ToISO639_1(const std::vector<std::string> &iso639_2Codes);
39};
40
41#endif // WINAPI_XWINDOWS
static const struct sockaddr FAR * name
Definition ArchNetworkWinsock.cpp:29