# fleepit
Text seleciton keyboard layout switcher based on xclip / etc for X11 & wayland
# Install
1. Install required packages:
* X11: `xclip`, `xdotool`
* Wayland: `wl-clipboard`
2. install module: `pip install fleepit`
# Limitations
## X11
Operation is performed in 3 steps:
* copy - copy selection buffer (primary clipboard)
* paste - write converted selection buffer into secondary (regular) clipboard
* send CTRL+C event
## Wayland
Operation is performed in 3 steps with limitations
* copy - reads contents of primary buffer
* paste - write converted selection into secondary (regular) clipboard
* user has to manually press CTRL+C - for the security reasons and/or in order to prevent depending on external daemon services that may expose potential keystroke injection vulnerabilities
# Usage
Sample usage for KDE:
* Add custom program shortcut in settings
* Fill something like `fleepit --mode x11 --langset qwerty-en-ru`
* Set some shortcut, for example `` CTRL+` ``
# Langset file
Sample langset file:
```json
{
"langset": [
"`1234567890-=qwertyuiop[]\\asdfghjkl;'zxcvbnm,.~!#%&*()_+QWERTYUIOP{}|ASDFGHJKL:\"ZXCVBNM<>",
"ё1234567890-=йцукенгшщзхъ\\фывапролджэячсмитьбюЁ!№%?*()_+ЙЦУКЕНГШЩЗХЪ/ФЫВАПРОЛДЖЭЯЧСМИТЬБЮ"
]
}
```
# Support
Current list of language convertations:
* QWERTY: EN <> RU
Raw data
{
"_id": null,
"home_page": "https://git.pegasko.art/bitrate16/fleepit",
"name": "fleepit",
"maintainer": null,
"docs_url": null,
"requires_python": null,
"maintainer_email": null,
"keywords": "keyboard layout shortcut layout-switcher",
"author": null,
"author_email": "pegasko@pegasko.art",
"download_url": "https://files.pythonhosted.org/packages/07/38/3dd9168ab26786523e29640a5e400990bcbb42865c09585287b67686329a/fleepit-7.tar.gz",
"platform": null,
"description": "# fleepit\n\nText seleciton keyboard layout switcher based on xclip / etc for X11 & wayland\n\n# Install\n\n1. Install required packages:\n * X11: `xclip`, `xdotool`\n * Wayland: `wl-clipboard`\n\n2. install module: `pip install fleepit`\n\n# Limitations\n\n## X11\n\nOperation is performed in 3 steps:\n* copy - copy selection buffer (primary clipboard)\n* paste - write converted selection buffer into secondary (regular) clipboard\n* send CTRL+C event\n\n## Wayland\n\nOperation is performed in 3 steps with limitations\n* copy - reads contents of primary buffer\n* paste - write converted selection into secondary (regular) clipboard\n* user has to manually press CTRL+C - for the security reasons and/or in order to prevent depending on external daemon services that may expose potential keystroke injection vulnerabilities\n\n# Usage\n\nSample usage for KDE:\n* Add custom program shortcut in settings\n* Fill something like `fleepit --mode x11 --langset qwerty-en-ru`\n* Set some shortcut, for example `` CTRL+` ``\n\n# Langset file\n\nSample langset file:\n\n```json\n\n{\n \"langset\": [\n \"`1234567890-=qwertyuiop[]\\\\asdfghjkl;'zxcvbnm,.~!#%&*()_+QWERTYUIOP{}|ASDFGHJKL:\\\"ZXCVBNM<>\",\n \"\u04511234567890-=\u0439\u0446\u0443\u043a\u0435\u043d\u0433\u0448\u0449\u0437\u0445\u044a\\\\\u0444\u044b\u0432\u0430\u043f\u0440\u043e\u043b\u0434\u0436\u044d\u044f\u0447\u0441\u043c\u0438\u0442\u044c\u0431\u044e\u0401!\u2116%?*()_+\u0419\u0426\u0423\u041a\u0415\u041d\u0413\u0428\u0429\u0417\u0425\u042a/\u0424\u042b\u0412\u0410\u041f\u0420\u041e\u041b\u0414\u0416\u042d\u042f\u0427\u0421\u041c\u0418\u0422\u042c\u0411\u042e\"\n ]\n}\n\n```\n\n# Support\n\nCurrent list of language convertations:\n* QWERTY: EN <> RU\n",
"bugtrack_url": null,
"license": "Apache 2.0",
"summary": "Text seleciton keyboard layout switcher based on xclip / etc for X11 & wayland",
"version": "7",
"project_urls": {
"Homepage": "https://git.pegasko.art/bitrate16/fleepit"
},
"split_keywords": [
"keyboard",
"layout",
"shortcut",
"layout-switcher"
],
"urls": [
{
"comment_text": "",
"digests": {
"blake2b_256": "07383dd9168ab26786523e29640a5e400990bcbb42865c09585287b67686329a",
"md5": "55740f327d58255740f6940c7fd843de",
"sha256": "720a21b181d4be1b0f9c7b8a1fb2cc714151cdd180ae9b46c5bc9bb26b957b2b"
},
"downloads": -1,
"filename": "fleepit-7.tar.gz",
"has_sig": false,
"md5_digest": "55740f327d58255740f6940c7fd843de",
"packagetype": "sdist",
"python_version": "source",
"requires_python": null,
"size": 7405,
"upload_time": "2024-06-20T19:48:50",
"upload_time_iso_8601": "2024-06-20T19:48:50.750127Z",
"url": "https://files.pythonhosted.org/packages/07/38/3dd9168ab26786523e29640a5e400990bcbb42865c09585287b67686329a/fleepit-7.tar.gz",
"yanked": false,
"yanked_reason": null
}
],
"upload_time": "2024-06-20 19:48:50",
"github": false,
"gitlab": false,
"bitbucket": false,
"codeberg": false,
"lcname": "fleepit"
}