diff options
| author | CoprDistGit <infra@openeuler.org> | 2023-04-10 15:36:07 +0000 |
|---|---|---|
| committer | CoprDistGit <infra@openeuler.org> | 2023-04-10 15:36:07 +0000 |
| commit | e705c963f02fdde1b1671bcd58a55561fd7021c3 (patch) | |
| tree | b77cd414b1a2da485b7276b992151e073b49803b /python-keyboard.spec | |
| parent | 0675b4d32bf7b3c90a39cb96d0c2d67bddaa3085 (diff) | |
automatic import of python-keyboard
Diffstat (limited to 'python-keyboard.spec')
| -rw-r--r-- | python-keyboard.spec | 220 |
1 files changed, 220 insertions, 0 deletions
diff --git a/python-keyboard.spec b/python-keyboard.spec new file mode 100644 index 0000000..2df719a --- /dev/null +++ b/python-keyboard.spec @@ -0,0 +1,220 @@ +%global _empty_manifest_terminate_build 0 +Name: python-keyboard +Version: 0.13.5 +Release: 1 +Summary: Hook and simulate keyboard events on Windows and Linux +License: MIT +URL: https://github.com/boppreh/keyboard +Source0: https://mirrors.nju.edu.cn/pypi/web/packages/79/75/c969f2258e908c39aadfc57d1cb78247dc49e6d36371bb3a48c194640c01/keyboard-0.13.5.zip +BuildArch: noarch + +Requires: python3-pyobjc + +%description +Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more. +## Features +- **Global event hook** on all keyboards (captures keys regardless of focus). +- **Listen** and **send** keyboard events. +- Works with **Windows** and **Linux** (requires sudo), with experimental **OS X** support (thanks @glitchassassin!). +- **Pure Python**, no C modules to be compiled. +- **Zero dependencies**. Trivial to install and deploy, just copy the files. +- **Python 2 and 3**. +- Complex hotkey support (e.g. `ctrl+shift+m, ctrl+space`) with controllable timeout. +- Includes **high level API** (e.g. [record](#keyboard.record) and [play](#keyboard.play), [add_abbreviation](#keyboard.add_abbreviation)). +- Maps keys as they actually are in your layout, with **full internationalization support** (e.g. `Ctrl+ç`). +- Events automatically captured in separate thread, doesn't block main program. +- Tested and documented. +- Doesn't break accented dead keys (I'm looking at you, pyHook). +- Mouse support available via project [mouse](https://github.com/boppreh/mouse) (`pip install mouse`). +## Usage +Install the [PyPI package](https://pypi.python.org/pypi/keyboard/): + pip install keyboard +or clone the repository (no installation required, source files are sufficient): + git clone https://github.com/boppreh/keyboard +or [download and extract the zip](https://github.com/boppreh/keyboard/archive/master.zip) into your project folder. +Then check the [API docs below](https://github.com/boppreh/keyboard#api) to see what features are available. +## Example +```py +import keyboard +keyboard.press_and_release('shift+s, space') +keyboard.write('The quick brown fox jumps over the lazy dog.') +keyboard.add_hotkey('ctrl+shift+a', print, args=('triggered', 'hotkey')) +# Press PAGE UP then PAGE DOWN to type "foobar". +keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar')) +# Blocks until you press esc. +keyboard.wait('esc') +# Record events until 'esc' is pressed. +recorded = keyboard.record(until='esc') +# Then replay back at three times the speed. +keyboard.play(recorded, speed_factor=3) +# Type @@ then press space to replace with abbreviation. +keyboard.add_abbreviation('@@', 'my.long.email@example.com') +# Block forever, like `while True`. +keyboard.wait() +``` +## Known limitations: +- Events generated under Windows don't report device id (`event.device == None`). [#21](https://github.com/boppreh/keyboard/issues/21) +- Media keys on Linux may appear nameless (scan-code only) or not at all. [#20](https://github.com/boppreh/keyboard/issues/20) +- Key suppression/blocking only available on Windows. [#22](https://github.com/boppreh/keyboard/issues/22) +- To avoid depending on X, the Linux parts reads raw device files (`/dev/input/input*`) +but this requires root. +- Other applications, such as some games, may register hooks that swallow all +key events. In this case `keyboard` will be unable to report events. +- This program makes no attempt to hide itself, so don't use it for keyloggers or online gaming bots. Be responsible. + +%package -n python3-keyboard +Summary: Hook and simulate keyboard events on Windows and Linux +Provides: python-keyboard +BuildRequires: python3-devel +BuildRequires: python3-setuptools +BuildRequires: python3-pip +%description -n python3-keyboard +Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more. +## Features +- **Global event hook** on all keyboards (captures keys regardless of focus). +- **Listen** and **send** keyboard events. +- Works with **Windows** and **Linux** (requires sudo), with experimental **OS X** support (thanks @glitchassassin!). +- **Pure Python**, no C modules to be compiled. +- **Zero dependencies**. Trivial to install and deploy, just copy the files. +- **Python 2 and 3**. +- Complex hotkey support (e.g. `ctrl+shift+m, ctrl+space`) with controllable timeout. +- Includes **high level API** (e.g. [record](#keyboard.record) and [play](#keyboard.play), [add_abbreviation](#keyboard.add_abbreviation)). +- Maps keys as they actually are in your layout, with **full internationalization support** (e.g. `Ctrl+ç`). +- Events automatically captured in separate thread, doesn't block main program. +- Tested and documented. +- Doesn't break accented dead keys (I'm looking at you, pyHook). +- Mouse support available via project [mouse](https://github.com/boppreh/mouse) (`pip install mouse`). +## Usage +Install the [PyPI package](https://pypi.python.org/pypi/keyboard/): + pip install keyboard +or clone the repository (no installation required, source files are sufficient): + git clone https://github.com/boppreh/keyboard +or [download and extract the zip](https://github.com/boppreh/keyboard/archive/master.zip) into your project folder. +Then check the [API docs below](https://github.com/boppreh/keyboard#api) to see what features are available. +## Example +```py +import keyboard +keyboard.press_and_release('shift+s, space') +keyboard.write('The quick brown fox jumps over the lazy dog.') +keyboard.add_hotkey('ctrl+shift+a', print, args=('triggered', 'hotkey')) +# Press PAGE UP then PAGE DOWN to type "foobar". +keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar')) +# Blocks until you press esc. +keyboard.wait('esc') +# Record events until 'esc' is pressed. +recorded = keyboard.record(until='esc') +# Then replay back at three times the speed. +keyboard.play(recorded, speed_factor=3) +# Type @@ then press space to replace with abbreviation. +keyboard.add_abbreviation('@@', 'my.long.email@example.com') +# Block forever, like `while True`. +keyboard.wait() +``` +## Known limitations: +- Events generated under Windows don't report device id (`event.device == None`). [#21](https://github.com/boppreh/keyboard/issues/21) +- Media keys on Linux may appear nameless (scan-code only) or not at all. [#20](https://github.com/boppreh/keyboard/issues/20) +- Key suppression/blocking only available on Windows. [#22](https://github.com/boppreh/keyboard/issues/22) +- To avoid depending on X, the Linux parts reads raw device files (`/dev/input/input*`) +but this requires root. +- Other applications, such as some games, may register hooks that swallow all +key events. In this case `keyboard` will be unable to report events. +- This program makes no attempt to hide itself, so don't use it for keyloggers or online gaming bots. Be responsible. + +%package help +Summary: Development documents and examples for keyboard +Provides: python3-keyboard-doc +%description help +Take full control of your keyboard with this small Python library. Hook global events, register hotkeys, simulate key presses and much more. +## Features +- **Global event hook** on all keyboards (captures keys regardless of focus). +- **Listen** and **send** keyboard events. +- Works with **Windows** and **Linux** (requires sudo), with experimental **OS X** support (thanks @glitchassassin!). +- **Pure Python**, no C modules to be compiled. +- **Zero dependencies**. Trivial to install and deploy, just copy the files. +- **Python 2 and 3**. +- Complex hotkey support (e.g. `ctrl+shift+m, ctrl+space`) with controllable timeout. +- Includes **high level API** (e.g. [record](#keyboard.record) and [play](#keyboard.play), [add_abbreviation](#keyboard.add_abbreviation)). +- Maps keys as they actually are in your layout, with **full internationalization support** (e.g. `Ctrl+ç`). +- Events automatically captured in separate thread, doesn't block main program. +- Tested and documented. +- Doesn't break accented dead keys (I'm looking at you, pyHook). +- Mouse support available via project [mouse](https://github.com/boppreh/mouse) (`pip install mouse`). +## Usage +Install the [PyPI package](https://pypi.python.org/pypi/keyboard/): + pip install keyboard +or clone the repository (no installation required, source files are sufficient): + git clone https://github.com/boppreh/keyboard +or [download and extract the zip](https://github.com/boppreh/keyboard/archive/master.zip) into your project folder. +Then check the [API docs below](https://github.com/boppreh/keyboard#api) to see what features are available. +## Example +```py +import keyboard +keyboard.press_and_release('shift+s, space') +keyboard.write('The quick brown fox jumps over the lazy dog.') +keyboard.add_hotkey('ctrl+shift+a', print, args=('triggered', 'hotkey')) +# Press PAGE UP then PAGE DOWN to type "foobar". +keyboard.add_hotkey('page up, page down', lambda: keyboard.write('foobar')) +# Blocks until you press esc. +keyboard.wait('esc') +# Record events until 'esc' is pressed. +recorded = keyboard.record(until='esc') +# Then replay back at three times the speed. +keyboard.play(recorded, speed_factor=3) +# Type @@ then press space to replace with abbreviation. +keyboard.add_abbreviation('@@', 'my.long.email@example.com') +# Block forever, like `while True`. +keyboard.wait() +``` +## Known limitations: +- Events generated under Windows don't report device id (`event.device == None`). [#21](https://github.com/boppreh/keyboard/issues/21) +- Media keys on Linux may appear nameless (scan-code only) or not at all. [#20](https://github.com/boppreh/keyboard/issues/20) +- Key suppression/blocking only available on Windows. [#22](https://github.com/boppreh/keyboard/issues/22) +- To avoid depending on X, the Linux parts reads raw device files (`/dev/input/input*`) +but this requires root. +- Other applications, such as some games, may register hooks that swallow all +key events. In this case `keyboard` will be unable to report events. +- This program makes no attempt to hide itself, so don't use it for keyloggers or online gaming bots. Be responsible. + +%prep +%autosetup -n keyboard-0.13.5 + +%build +%py3_build + +%install +%py3_install +install -d -m755 %{buildroot}/%{_pkgdocdir} +if [ -d doc ]; then cp -arf doc %{buildroot}/%{_pkgdocdir}; fi +if [ -d docs ]; then cp -arf docs %{buildroot}/%{_pkgdocdir}; fi +if [ -d example ]; then cp -arf example %{buildroot}/%{_pkgdocdir}; fi +if [ -d examples ]; then cp -arf examples %{buildroot}/%{_pkgdocdir}; fi +pushd %{buildroot} +if [ -d usr/lib ]; then + find usr/lib -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/lib64 ]; then + find usr/lib64 -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/bin ]; then + find usr/bin -type f -printf "/%h/%f\n" >> filelist.lst +fi +if [ -d usr/sbin ]; then + find usr/sbin -type f -printf "/%h/%f\n" >> filelist.lst +fi +touch doclist.lst +if [ -d usr/share/man ]; then + find usr/share/man -type f -printf "/%h/%f.gz\n" >> doclist.lst +fi +popd +mv %{buildroot}/filelist.lst . +mv %{buildroot}/doclist.lst . + +%files -n python3-keyboard -f filelist.lst +%dir %{python3_sitelib}/* + +%files help -f doclist.lst +%{_docdir}/* + +%changelog +* Mon Apr 10 2023 Python_Bot <Python_Bot@openeuler.org> - 0.13.5-1 +- Package Spec generated |
