From de0fb553940a759de765d62a7abcd1f171225aab Mon Sep 17 00:00:00 2001 From: Chrys Date: Mon, 24 Oct 2022 18:42:49 +0200 Subject: [PATCH 1/3] sync with master --- config/settings/settings-chime.conf | 265 ++++++++++++++++++++++++++++ 1 file changed, 265 insertions(+) create mode 100644 config/settings/settings-chime.conf diff --git a/config/settings/settings-chime.conf b/config/settings/settings-chime.conf new file mode 100644 index 00000000..f796ed60 --- /dev/null +++ b/config/settings/settings-chime.conf @@ -0,0 +1,265 @@ +[sound] +# Turn sound on or off: +enabled=True + +# Select the driver used to play sounds, choices are genericDriver and gstreamerDriver. +# Sox is the default. +#driver=gstreamerDriver +driver=genericDriver + +# Sound themes. These are the pack of sounds used for sound alerts. +# Sound packs may be located at /usr/share/sounds +# For system wide availability, or ~/.local/share/fenrirscreenreader/sounds +# For the current user. +theme=default + +# Sound volume controls how loud the sounds for your selected soundpack are. +# 0 is quietest, 1.0 is loudest. +volume=1.0 + +# shell commands for generic sound driver +# the folowing variable are substituted +# fenrirVolume = the current volume setting +# fenrirSoundFile = the soundfile for an soundicon +# fenrirFrequence = the frequency to play +# fenrirDuration = the duration of the frequency +# the following command is used to play a soundfile +genericPlayFileCommand=play -q -v fenrirVolume fenrirSoundFile +#the following command is used to generate a frequency beep +genericFrequencyCommand=play -q -v fenrirVolume -n -c1 synth fenrirDuration sine fenrirFrequence + +[speech] +# Turn speech on or off: +enabled=True + +# Select speech driver, options are speechdDriver (default), genericDriver or espeakDriver: +# chrys: comment out genericDriver, uncomment speechdDriver +driver=speechdDriver +#driver=espeakDriver +#driver=genericDriver + +# server path for emacspeak +serverPath=/home/chrys/Projekte/emacspeak/servers/espeak + +# The rate selects how fast Fenrir will speak. Options range from 0, slowest, to 1.0, fastest. +rate=0.65 + +# Pitch controls the pitch of the voice, select from 0, lowest, to 1.0, highest. +pitch=0.5 +# Pitch for capital letters +capitalPitch=0.9 + +# Volume controls the loudness of the voice, select from 0, quietest, to 1.0, loudest. +volume=1.0 + +# Module is used for Speech-dispatcher, to select the speech module you want to use. +# Consult Speech-dispatcher's configuration and help Fenrir find out which modules are available. +# The default is specified in speechd.conf. +# chrys: uncomment module, set it to voxin (default espeak-ng) +module=voxin + +# Voice selects the voice you want to use, for example, en-GB-scotland will use the Scotish English voice in Espeak, +# To find out which voices are available, consult the documentation provided with your selected synthesizer. +# This also sets the voice used in the generic driver. +# You can add a variant by adding +name onto the end. +# chrys: set voice (default was en-us) +voice=allison-embedded-high + +# Select the language you want Fenrir to use. +# chrys: uncomment language and set language to en-US (default was en) +language=en + +# Read new text as it happens? +autoReadIncoming=True + +# genericSpeechCommand is the command that is executed for talking +# the following variables are replaced with values +# fenrirText = is the text that should be spoken +# fenrirModule = may be the speech module like used in speech-dispatcher, not every TTY need this +# fenrirLanguage = the language +# fenrirVoice = is the current voice that should be used. Set the voice variable above. +# the current volume, pitch and rate is calculated like this +# value = min + settingValue * (min - max ) +# fenrirVolume = is replaced with the current volume +# fenrirPitch = is replaced with the current pitch +# fenrirRate = is replaced with the current speed (speech rate) +genericSpeechCommand=espeak-ng -a fenrirVolume -s fenrirRate -p fenrirPitch -v fenrirVoice -- "fenrirText" + +# those are the min and max values of the TTS system that is used in genericSpeechCommand +fenrirMinVolume=0 +fenrirMaxVolume=200 +fenrirMinPitch=0 +fenrirMaxPitch=99 +fenrirMinRate=80 +fenrirMaxRate=450 + +[braille] +enabled=False +driver=dummyDriver +layout=en +# to what should the flush timeout relate to +# word = flush after (number of words to display) * seconds +# char = flush after (number of chars to display) * seconds +# fix = flush after X seconds +# none = no automatic flush (manual via shortcut) +flushMode=word +# seconds to flush or +# -1 = no automatic flush (manual via shortcut) +flushTimeout=3 +# how should the cursor be focused? +# page = if cursor cross the border move to next page and start at beginn +# fixCell = ajust the cursor on an special cell where it is always placed. the display scroll here more smooth. +cursorFocusMode=page +# define the cell on the Braille device where fenrir should scroll and keep the cursor +# 0 = first cell on device +# -1 = last cell on device +# >0 = fix cell number +fixCursorOnCell=-1 +#How should the braille follow the focus +# none = no automatic toggle command used +# review = priority to review +# last = follow last used cursor +cursorFollowMode=review +# number of cells in panning (horizontal) +# 0 = display size, >0 number of cells +panSizeHorizontal=0 + +[screen] +driver=vcsaDriver +encoding=auto +screenUpdateDelay=0.05 +suspendingScreen= +autodetectSuspendingScreen=True + +[keyboard] +driver=evdevDriver +# filter input devices NOMICE, ALL or a DEVICE NAME +device=ALL +# gives Fenrir exclusive access to the keyboard and lets it control keystrokes. +grabDevices=True +ignoreShortcuts=False +# the current shortcut layout located in /etc/fenrirscreenreader/keyboard +keyboardLayout=desktop +# echo chars while typing. +# 0 = None +# 1 = always +# 2 = only while capslock +charEchoMode=2 +# echo deleted chars +charDeleteEcho=True +# echo word after pressing space +wordEcho=False +# interrupt speech on any keypress +interruptOnKeyPress=True +# you can filter the keys on that the speech should interrupt (empty = all keys, otherwhise the given keys) +interruptOnKeyPressFilter= +# timeout for double tap in sec +doubleTapTimeout=0.2 + +[general] +debugLevel=0 +# debugMode sets where the debug output should send to: +# debugMode=File writes to debugFile (Default:/tmp/fenrir-PID.log) +# debugMode=Print just prints on the screen +debugMode=File +debugFile= +punctuationProfile=default +punctuationLevel=some +respectPunctuationPause=True +newLinePause=True +numberOfClipboards=10 +# used path for "export_clipboard_to_file" +# $user is replaced by username +#clipboardExportPath=/home/$user/fenrirClipboard +clipboardExportPath=/tmp/fenrirClipboard +emoticons=True +# define the current Fenrir key +fenrirKeys=KEY_KP0,KEY_META,KEY_INSERT +scriptKeys=KEY_COMPOSE +timeFormat=%H:%M:%P +dateFormat=%A, %B %d, %Y +autoSpellCheck=True +spellCheckLanguage=en_US +# path for your scripts "scriptKeys" functionality +scriptPath=/usr/share/fenrirscreenreader/scripts +# overload commands, and create new one without changing Fenrir default +commandPath= +#fenrirBGColor = the backgroundcolor +#fenrirFGColor = the foregroundcolor +#fenrirUnderline = speak the underline attribute +#fenrirBold = speak the bold attribute +#fenrirBlink = speak the blink attribute +#fenrirFont = the font +#fenrirFontSize = the fontsize +attributeFormatString=Background fenrirBGColor,Foreground fenrirFGColor,fenrirUnderline,fenrirBold,fenrirBlink, Font fenrirFont,Fontsize fenrirFontSize +# present indentation +autoPresentIndent=False +# speak is only invoked on changeing ident level, sound always +# 0 = sound and speak +# 1 = sound only +# 2 = speak only +autoPresentIndentMode=1 +# play a sound when attributes are changeing +hasAttributes=True +# shell for PTY emulatiun (empty = default shell) +shell= + +[focus] +#follow the text cursor +cursor=True +#follow highlighted text changes +highlight=False + +[remote] +enable=True +# driver +# unixDriver = unix sockets +# tcpDriver = tcp (localhost only) +driver=unixDriver +# tcp port +port=22447 +# socket filepath +socketFile= +# allow settings to overwrite +enableSettingsRemote=True +# allow commands to be executed +enableCommandRemote=True + +[barrier] +enabled=True +leftBarriers=│└┌─ +rightBarriers=│┘┐─ + +[review] +lineBreak=True +endOfScreen=True +# leave the review when pressing a key +leaveReviewOnCursorChange=True +# leave the review when changing the screen +leaveReviewOnScreenChange=True + +[promote] +enabled=True +inactiveTimeoutSec=120 +list= + +[menu] +vmenuPath= +quickMenu=speech#rate;speech#pitch;speech#volume + +[time] +# automatic time anouncement +enabled=False +# present time +presentTime=True +# present date (on change) +presentDate=True +# present time after a given period of seconds +delaySec=0 +# present time after to given minutes example every 15 minutes: 00,15,30,45 +# if delaySec is >0 onMinutes is ignored +onMinutes=00,30 +# announce via soundicon (not interrupting) +announce=True +# interrupt current speech for time announcement +interrupt=False From 20f2182c8afaf8795fc25610d8b8cb27b7355f7c Mon Sep 17 00:00:00 2001 From: Chrys Date: Mon, 24 Oct 2022 18:44:43 +0200 Subject: [PATCH 2/3] try --- src/fenrirscreenreader/core/fenrirManager.py | 4 +++- 1 file changed, 3 insertions(+), 1 deletion(-) diff --git a/src/fenrirscreenreader/core/fenrirManager.py b/src/fenrirscreenreader/core/fenrirManager.py index ae841000..5af7f70d 100644 --- a/src/fenrirscreenreader/core/fenrirManager.py +++ b/src/fenrirscreenreader/core/fenrirManager.py @@ -84,8 +84,10 @@ class fenrirManager(): self.environment['runtime']['inputManager'].writeEventBuffer() if self.environment['runtime']['inputManager'].noKeyPressed(): self.modifierInput = False - self.singleKeyCommand = False + self.singleKeyCommand = False + self.environment['runtime']['inputManager'].writeEventBuffer() self.environment['runtime']['inputManager'].handleDeviceGrab() + if self.environment['input']['keyForeward'] > 0: self.environment['input']['keyForeward'] -=1 self.environment['runtime']['commandManager'].executeDefaultTrigger('onKeyInput') From 99889d4c6c02d4418a1a811153afcc6633cfb91b Mon Sep 17 00:00:00 2001 From: Chrys Date: Tue, 10 Jan 2023 02:08:13 +0100 Subject: [PATCH 3/3] paste demo --- play zone/pasteClipboardDemo.py | 11 +++++++++++ 1 file changed, 11 insertions(+) create mode 100755 play zone/pasteClipboardDemo.py diff --git a/play zone/pasteClipboardDemo.py b/play zone/pasteClipboardDemo.py new file mode 100755 index 00000000..94c32cfc --- /dev/null +++ b/play zone/pasteClipboardDemo.py @@ -0,0 +1,11 @@ +#!/bin/python3 +import termios +import fcntl + +def injectTextToScreen(text): + useScreen = "/dev/tty5" + with open(useScreen, 'w') as fd: + for c in text: + fcntl.ioctl(fd, termios.TIOCSTI, c) + +injectTextToScreen('this is a test that works')