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.
To install from local folder, use: pip install .
More
I also created the porting of the Numworks' Kandinsky module
API methods
Numworks and Omega methods
keydown():
- Parameters:
k - Description: Return True if the
kkey is pressed (not release)
Upsilon-specific methods (previous are also added)
get_keys():
- Parameters: No parameters
- Description: Get name of pressed keys
battery():
- Parameters: No parameters
- Description: Return battery voltage (give a fake result)
battery_level():
- Parameters: No parameters
- Description: Return battery level (give a fake result)
battery_ischarging():
- Parameters: No parameters
- Description: Return True if the battery is charging (give a fake result)
set_brightness():
- Parameters:
level - Description: Set brightness level of screen (do nothing)
get_brightness():
- Parameters: No parameters
- Description: Get brightness level of screen
Numworks keyboard association
| 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 (For MacOS: Shift+Return) | KEY_EXE | 52 |
Environ variables
[!IMPORTANT] You must make these additions before importing the ion module, otherwise the changes will not take effect.
Some library options can be modified by environ variables.
To do so, add a compatibility check and place the environ variables into:
try:
import os
"<environ variables 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 don't want to synchronize the library with kandinsky, use this environ name:
os.environ['ION_OS_MODE'] = '<number>'
- Enable debug mode:
# Print full error stacktrace, the pressed key and methods calls
os.environ['ION_ENABLE_DEBUG'] = ''
- Disable warnings:
# Will disable all ion warnings, like not found windows or incompatibilities.
os.environ['ION_DISABLE_WARNINGS'] = ''
- Disable inputs reading only from the kandinsky window:
# This options allow keyboard inputs reading from the python console and the kandinsky window
# By default it only reads the kandinsky window (only if focused by user)
# Note: if kandinsky is not imported globally, this option is enabled by default
os.environ['ION_DISABLE_KANDINSKY_INPUT_ONLY'] = ''
- Get keyboard inputs everywhere (not only from kandinsky window or python console):
# Allow to get inputs from 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
Filter files by name, interpreter, ABI, and platform.
If you're not sure about the file name format, learn more about wheel file names.
Copy a direct link to the current filters
File details
Details for the file ion_numworks-2.1.tar.gz.
File metadata
- Download URL: ion_numworks-2.1.tar.gz
- Upload date:
- Size: 19.2 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
f277106f06eb324e87959c5cbf8f3665d28271fa6d9c0c1eb9287ff0ff1578f8
|
|
| MD5 |
812e5f80ef8658ced82152517c6a4334
|
|
| BLAKE2b-256 |
9e259792be6ffb76ca3d24cd19bb4445aba173c805981af58885829e3af38a93
|
File details
Details for the file ion_numworks-2.1-py3-none-any.whl.
File metadata
- Download URL: ion_numworks-2.1-py3-none-any.whl
- Upload date:
- Size: 23.3 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/6.1.0 CPython/3.13.3
File hashes
| Algorithm | Hash digest | |
|---|---|---|
| SHA256 |
b6a006df163269319c773f4a2d889ac80b924b56ab2f0d1bced69d40baf87435
|
|
| MD5 |
30864680e3b56febf0bf82b74df1ccfd
|
|
| BLAKE2b-256 |
30a0081d02f5967ca61769d7e08aa3fcf917d7c19e25b3e70c5dfbb299136ce3
|