fix spellchecking noise

This commit is contained in:
chrys 2016-10-16 21:41:15 +02:00
parent 26ab1701d2
commit f8da0af676
3 changed files with 10 additions and 115 deletions

View File

@ -96,7 +96,7 @@ interruptOnKeyPress=False
doubleTapDelay=0.2 doubleTapDelay=0.2
[general] [general]
debugLevel=3 debugLevel=0
punctuationLevel=some punctuationLevel=some
numberOfClipboards=10 numberOfClipboards=10
# define the current fenrir key # define the current fenrir key

View File

@ -1,112 +0,0 @@
[sound]
# Turn sound on or off:
enabled=True
# Select the driver used to play sounds, choices are generic and gstreamer.
# Sox is the default.
driver=generic
# Sound themes. This is the pack of sounds used for sound alerts.
# Sound packs may be located at /usr/share/sounds
# For system wide availability, or ~/.local/share/fenrir/sounds
# For the current user.
theme=default
# Sound volume controls how loud the sounds for your chosen soundpack are.
# 0 is quietest, 1.0 is loudest.
volume=1.0
# shell commands for generic sound driver
# the folowing variable are substituded
# fenrirVolume = the current volume setting
# fenrirSoundFile = the soundfile for an soundicon
# fenrirFrequence = the frequence to play
# fenrirDuration = the duration of the frequence
# the following command is used for play a soundfile
genericPlayFileCommand=play -q -v fenrirVolume fenrirSoundFile
#the following command is used for generating a frequence 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 speechd (default) or espeak:
driver=speechd
# The rate selects how fast fenrir will speak. Options range from 0, slowest, to 1.0, fastest.
rate=0.45
# 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 ti find out which modules are available.
# The default is espeak.
module=espeak
# Voice selects the varient you want to use, for example, f5 will use the female voice #5 in espeak,
# or if using the espeak module in speech-dispatcher. To find out which voices are available, consult the documentation provided with your chosen synthesizer.
voice=
# Select the language you want fenrir to use.
language=english-us
# Read new text as it happens?
autoReadIncoming=True
[braille]
#braille is not implemented yet
enabled=False
driver=brlapi
layout=en
[screen]
driver=linux
encoding=cp850
screenUpdateDelay=0.4
suspendingScreen=
autodetectSuspendingScreen=True
[keyboard]
driver=evdev
# filter input devices AUTO, ALL or a DEVICE NAME
device=AUTO
# gives fenrir exclusive access to the keyboard and let consume keystrokes. just disable on problems.
grabDevices=True
ignoreShortcuts=False
# the current shortcut layout located in /etc/fenrir/keyboard
keyboardLayout=desktop
# echo chars while typing.
charEcho=False
# echo deleted chars
charDeleteEcho=True
# echo word after pressing space
wordEcho=True
# interrupt speech on any keypress
interruptOnKeyPress=False
# timeout for double tap in sec
doubleTapDelay=0.2
[general]
debugLevel=0
punctuationLevel=some
numberOfClipboards=10
# define the current fenrir key
fenrirKeys=KEY_KP0,KEY_META
timeFormat=%H:%M%P
dateFormat="%A, %B %d, %Y"
autoSpellCheck=True
spellCheckLanguage=en_US
[promote]
enabled=True
inactiveTimeoutSec=120
list=

View File

@ -6,7 +6,7 @@
from core import debug from core import debug
from utils import word_utils from utils import word_utils
import os import os, string
initialized = False initialized = False
try: try:
@ -64,8 +64,10 @@ class command():
x, y, currWord = word_utils.getCurrentWord(self.env['screenData']['newCursor']['x'], 0, newContent) x, y, currWord = word_utils.getCurrentWord(self.env['screenData']['newCursor']['x'], 0, newContent)
# was this a typed word? # was this a typed word?
if self.env['screenData']['newDelta'] != '': if self.env['screenData']['newDelta'] != '':
if not(newContent[self.env['screenData']['oldCursor']['x']].strip(" \t\n") == '' and x != self.env['screenData']['oldCursor']['x']): if not(newContent[self.env['screenData']['oldCursor']['x']] in string.whitespace + string.punctuation and x != self.env['screenData']['oldCursor']['x']):
return return
else:
currWord = currWord.strip(string.whitespace + string.punctuation)
else: else:
# or just arrow arround? # or just arrow arround?
if not(newContent[self.env['screenData']['newCursor']['x']].isspace() and x != self.env['screenData']['newCursor']['x']): if not(newContent[self.env['screenData']['newCursor']['x']].isspace() and x != self.env['screenData']['newCursor']['x']):
@ -74,6 +76,11 @@ class command():
# ignore empty # ignore empty
if currWord[0] =='': if currWord[0] =='':
return return
# just on end of word
if self.env['screenData']['newCursor']['x'] > 0:
if not newContent[self.env['screenData']['oldCursor']['x'] - 1].lower() in string.ascii_lowercase:
return
# ignore bash buildins # ignore bash buildins
if currWord in ['cd','fg','bg','alias','bind','dir','caller','buildin','command','declare','echo','enable','help','let','local','logout',\ if currWord in ['cd','fg','bg','alias','bind','dir','caller','buildin','command','declare','echo','enable','help','let','local','logout',\
'mapfile','printf','read','readarray','source','type','typeset','ulimit','unalias']: 'mapfile','printf','read','readarray','source','type','typeset','ulimit','unalias']: