Skip to main content

The porting of 'Ion module, from Numworks, for PC.

Project description

Visitor Badge Downloads pip

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


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

ion_numworks-2.0.1.tar.gz (18.6 kB view details)

Uploaded Source

Built Distribution

ion_numworks-2.0.1-py3-none-any.whl (22.6 kB view details)

Uploaded Python 3

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

Hashes for ion_numworks-2.0.1.tar.gz
Algorithm Hash digest
SHA256 34a60e59eae1852aa143cb877aa99fc55afd6c36792c70779190c6149196dd8f
MD5 883e0cff60e803c273fce5a36bd402a0
BLAKE2b-256 f65b185ab796c0f75b07a648d1ad92b31fa0f85a389665fc089d9cfc64ee953b

See more details on using hashes here.

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

Hashes for ion_numworks-2.0.1-py3-none-any.whl
Algorithm Hash digest
SHA256 f61c2a0f3d709507d360f11e9aa0ea2da7b35cbb215d082cac067052fa2da7c9
MD5 f1bc481c9438abd60bf550bb37a24160
BLAKE2b-256 586af5d7682cbc300a00186f4dd6d47fe8e7648bdc4104973a223ff75e15e690

See more details on using hashes here.

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page