The porting of 'Ion module, from Numworks, for PC.
Project description
Ion-numworks
This is just a little low level library for fetching keyboard input.
This is a porting of the Numworks module, and add other methods created by others OS (like Omega or Upsilon).
Installation
You can download it on pypi.org, download files of the latest release.
Or simply run this command to install library: pip install ion-numworks
Also if you want to do it yourself, use this command to build and install the library automatically: python -m build && pip install .
More
Also i created the Kandinsky module of Numworks
Usable content
Numworks and Omega methods
keydown():
- Parameters:
k
- Description: Return True if the
k
key is pressed (not release)
Upsilon methods (previous are also added)
get_keys():
- Parameters: No parameters
- Description: Get name of pressed keys
battery():
- Parameters: No parameters
- Description: Return battery voltage
battery_level():
- Parameters: No parameters
- Description: Return battery level
battery_ischarging():
- Parameters: No parameters
- Description: Return True if the battery is charging
set_brightness():
- Parameters:
level
- Description: Set brightness level of screen
get_brightness():
- Parameters: No parameters
- Description: Get brightness level of screen
Associated keyboard keys
Numworks key | Computer key | Field name | Field value |
---|---|---|---|
left | Left | KEY_LEFT | 0 |
up | Up | KEY_UP | 1 |
down | Down | KEY_DOWN | 2 |
right | Right | KEY_RIGHT | 3 |
OK | Return | KEY_OK | 4 |
back | Delete | KEY_BACK | 5 |
home | Escape | KEY_HOME | 6 |
onOff | End | KEY_ONOFF | 7 |
shift | Shift | KEY_SHIFT | 12 |
alpha | CTRL | KEY_ALPHA | 13 |
xnt | X | KEY_XNT | 14 |
var | V | KEY_VAR | 15 |
toolbox | " | KEY_TOOLBOX | 16 |
backspace | Backspace | KEY_BACKSPACE | 17 |
exp | E | KEY_EXP | 18 |
ln | N | KEY_LN | 19 |
log | L | KEY_LOG | 20 |
imaginary | I | KEY_IMAGINARY | 21 |
comma | , | KEY_COMMA | 22 |
power | ^ | KEY_POWER | 23 |
sin | S | KEY_SINE | 24 |
cos | C | KEY_COSINE | 25 |
tan | T | KEY_TANGENT | 26 |
pi | P | KEY_PI | 27 |
sqrt | R | KEY_SQRT | 28 |
square | > | KEY_SQUARE | 29 |
7 | 7 | KEY_SEVEN | 30 |
8 | 8 | KEY_EIGHT | 31 |
9 | 9 | KEY_NINE | 32 |
( | ( | KEY_LEFTPARENTHESIS | 33 |
) | ) | KEY_RIGHTPARENTHESIS | 34 |
4 | 4 | KEY_FOUR | 36 |
5 | 5 | KEY_FIVE | 37 |
6 | 6 | KEY_SIX | 38 |
* | * | KEY_MULTIPLICATION | 39 |
/ | / | KEY_DIVISION | 40 |
1 | 1 | KEY_ONE | 42 |
2 | 2 | KEY_TWO | 43 |
3 | 3 | KEY_THREE | 44 |
+ | + | KEY_PLUS | 45 |
- | - | KEY_MINUS | 46 |
0 | 0 | KEY_ZERO | 48 |
. | . | KEY_DOT | 49 |
EE | ! | KEY_EE | 50 |
Ans | A | KEY_ANS | 51 |
EXE | Insert | KEY_EXE | 52 |
Additional features
Environ options
/!\ You must make its additions before importing ion otherwise the changes will not take effect! /!\
You can also change some default option of library.
To do this, first import os module and add a compatibility check, like this:
try:
import os
if hasattr(os, "environ"):
"<environ options here>"
except: pass
- Change starting OS (methods according to the selected os will be created):
(Option name is same as Kandinsky so that, if both libraries are present, they are synchronized)
# '0': All methods
# '1': Numworks methods
# '2': Omega method
# '3': Upsilon methods
os.environ['KANDINSKY_OS_MODE'] = '<number>'
- Or if you want to not synchronize the library with kandinsky, use this environ name:
os.environ['ION_OS_MODE'] = '<number>'
- Enable debug mode:
# Print full error stacktrace, the original pressed key and methods calls
os.environ['ION_ENABLE_DEBUG'] = ''
- Disable warnings:
# Will be disable all ion warnings
os.environ['ION_DISABLE_WARNINGS'] = ''
- Disable reading inputs only in kandinsky window (if kandinsky is not imported globally, this option is enabled by default):
# This options allow to read keyboard inputs in python console and kandinsky window
# By default it just read kandinsky window (only if is focused)
# Note: if is not imported globally, this option is enabled by default
os.environ['ION_DISABLE_KANDINSKY_INPUT_ONLY'] = ''
- Get keyboard inputs everywhere (not only in kandinsky window or python console):
# Allow to get inputs in entire system, like previous version of library
os.environ['ION_ENABLE_GET_INPUT_EVERYWHERE'] = ''
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file ion_numworks-2.0.1.tar.gz
.
File metadata
- Download URL: ion_numworks-2.0.1.tar.gz
- Upload date:
- Size: 18.6 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 34a60e59eae1852aa143cb877aa99fc55afd6c36792c70779190c6149196dd8f |
|
MD5 | 883e0cff60e803c273fce5a36bd402a0 |
|
BLAKE2b-256 | f65b185ab796c0f75b07a648d1ad92b31fa0f85a389665fc089d9cfc64ee953b |
File details
Details for the file ion_numworks-2.0.1-py3-none-any.whl
.
File metadata
- Download URL: ion_numworks-2.0.1-py3-none-any.whl
- Upload date:
- Size: 22.6 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/5.0.0 CPython/3.11.2
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | f61c2a0f3d709507d360f11e9aa0ea2da7b35cbb215d082cac067052fa2da7c9 |
|
MD5 | f1bc481c9438abd60bf550bb37a24160 |
|
BLAKE2b-256 | 586af5d7682cbc300a00186f4dd6d47fe8e7648bdc4104973a223ff75e15e690 |