create wav sound theme, make more use of soundicons

This commit is contained in:
chrys 2016-10-04 23:15:38 +02:00
parent 56693c2a6b
commit c49a1b318a
37 changed files with 176 additions and 11 deletions

View File

@ -0,0 +1,113 @@
[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
#driver=espeak
# 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=de
# Read new text as it happens?
autoReadIncoming=True
[braille]
#braille is not implemented yet
enabled=False
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=test
# echo chars while typing.
charEcho=False
# echo deleted chars
charDeleteEcho=True
# echo word after pressing space
wordEcho=False
# interrupt speech on any keypress
interruptOnKeyPress=False
# timeout for double tap in sec
doubleTapDelay=0.2
[general]
debugLevel=1
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

@ -0,0 +1,50 @@
# Screen Reader Turned On or Off
ScreenReaderOn='ScreenReaderOn.wav'
ScreenReaderOff='ScreenReaderOff.wav'
# Cancel the current command
Cancel='Cancel.wav'
# Accept command
Accept='Accept.wav'
# Bell a sound if the TTY is changed (ctrl + alt +FX)
ChangeTTY='ChangeTTY.wav'
# Is the first Position on the line
StartOfLine='StartOfLine.wav'
# Is the last position of the Line
EndOfLine='EndOfLine.wav'
# the Line is empty
EmptyLine='EmptyLine.wav'
# Is the first line on the screen.
StartOfScreen='StartOfScreen.wav'
# Is the last line on the screen
EndOfScreen='EndOfScreen.wav'
# The content has changed
ContentChanged='ContentChanged.wav'
# Speech has turned On or Off
SpeechOn='SpeechOn.wav'
SpeechOff='SpeechOff.wav'
# Braille has turned On or Off
BrailleOn='BrailleOn.wav'
BrailleOff='BrailleOff.wav'
# SoundIcons has turned On or Off
SoundOn='SoundOn.wav'
SoundOff='SoundOff.wav'
# Set beginnig mark
PlaceStartMark='PlaceStartMark.wav'
# Set end mark
PlaceEndMark='PlaceEndMark.wav'
# Copied to clipboard
CopyToClipboard='CopyToClipboard.wav'
# Pasted on the screen
PasedClipboardOnScreen='PasedClipboardOnScreen.wav'
# An error accoured while speech or braille output or reading the screen
ErrorSpeech='ErrorSpeech.wav'
ErrorBraille='ErrorBraille.wav'
ErrorScreen='ErrorScreen.wav'
# If you cursor over an text that has attributs (like color)
HasAttributes='HasAttributes.wav'
# fenrir can promote strings if they appear on the screen.
PromotedText='PromotedText.wav'
# missspelled indicator
mispell='mispell.wav'
# the for capital letter
capital='Caps.wav'

View File

@ -29,9 +29,9 @@ BrailleOff='BrailleOff.opus'
SoundOn='SoundOn.opus' SoundOn='SoundOn.opus'
SoundOff='SoundOff.opus' SoundOff='SoundOff.opus'
# Set beginnig mark for copy to clipboard # Set beginnig mark for copy to clipboard
PlaceStartCopyMark='PlaceStartCopyMark.opus' PlaceStartMark='PlaceStartMark.opus'
# Set end mark for copy to clipboard # Set end mark for copy to clipboard
PlaceEndCopyMark='PlaceEndCopyMark.opus' PlaceEndMark='PlaceEndMark.opus'
# Copied to clipboard # Copied to clipboard
CopyToClipboard='CopyToClipboard.opus' CopyToClipboard='CopyToClipboard.opus'
# Pasted on the screen # Pasted on the screen

View File

@ -31,13 +31,9 @@ class command():
self.env['commandBuffer']['clipboard'] = [marked] + self.env['commandBuffer']['clipboard'][:self.env['runtime']['settingsManager'].getSettingAsInt('general', 'numberOfClipboards') -1] self.env['commandBuffer']['clipboard'] = [marked] + self.env['commandBuffer']['clipboard'][:self.env['runtime']['settingsManager'].getSettingAsInt('general', 'numberOfClipboards') -1]
self.env['commandBuffer']['currClipboard'] = 0 self.env['commandBuffer']['currClipboard'] = 0
# reset marks # reset marks
self.env['commandBuffer']['Marks']['1'] = None self.env['runtime']['cursorManager'].clearMarks()
self.env['commandBuffer']['Marks']['2'] = None
if marked.isspace(): self.env['runtime']['outputManager'].presentText(marked, soundIcon='CopyToClipboard', interrupt=True)
self.env['runtime']['outputManager'].presentText("blank", soundIcon='EmptyLine', interrupt=True)
else:
self.env['runtime']['outputManager'].presentText(marked, interrupt=True)
def setCallback(self, callback): def setCallback(self, callback):
pass pass

View File

@ -24,6 +24,7 @@ class command():
if currClipboard < 0: if currClipboard < 0:
self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True) self.env['runtime']['outputManager'].presentText('clipboard empty', interrupt=True)
return return
self.env['runtime']['outputManager'].presentText('paste clipboard', soundIcon='PasedClipboardOnScreen', interrupt=True)
with open("/dev/tty" + self.env['screenData']['newTTY'], 'w') as fd: with open("/dev/tty" + self.env['screenData']['newTTY'], 'w') as fd:
for c in self.env['commandBuffer']['clipboard'][currClipboard]: for c in self.env['commandBuffer']['clipboard'][currClipboard]:
fcntl.ioctl(fd, termios.TIOCSTI, c) fcntl.ioctl(fd, termios.TIOCSTI, c)

View File

@ -21,8 +21,10 @@ class command():
self.env['runtime']['outputManager'].presentText('no review cursor', interrupt=True) self.env['runtime']['outputManager'].presentText('no review cursor', interrupt=True)
return return
self.env['runtime']['cursorManager'].setMark() currMark = self.env['runtime']['cursorManager'].setMark()
self.env['runtime']['outputManager'].presentText('set mark', interrupt=True) if currMark == 1:
self.env['runtime']['outputManager'].presentText('set mark',soundIcon='PlaceStartMark', interrupt=True)
elif currMark == 2:
self.env['runtime']['outputManager'].presentText('set mark',soundIcon='PlaceEndMark', interrupt=True)
def setCallback(self, callback): def setCallback(self, callback):
pass pass

View File

@ -27,8 +27,11 @@ class cursorManager():
def setMark(self): def setMark(self):
if not self.env['commandBuffer']['Marks']['1']: if not self.env['commandBuffer']['Marks']['1']:
self.env['commandBuffer']['Marks']['1'] = self.env['screenData']['newCursorReview'].copy() self.env['commandBuffer']['Marks']['1'] = self.env['screenData']['newCursorReview'].copy()
return 1
else: else:
self.env['commandBuffer']['Marks']['2'] = self.env['screenData']['newCursorReview'].copy() self.env['commandBuffer']['Marks']['2'] = self.env['screenData']['newCursorReview'].copy()
return 2
return 0
def getReviewOrTextCursor(self): def getReviewOrTextCursor(self):
if self.env['screenData']['newCursorReview']: if self.env['screenData']['newCursorReview']:
return self.env['screenData']['newCursorReview'].copy() return self.env['screenData']['newCursorReview'].copy()