Reset master to testing content
This commit is contained in:
1 parent
0f2587b719
commit
42afa2a56c
1483 files changed
+145308
-938069
No files matched your search
@@ -0,0 +1,218 @@
|
||||
// Cthulhu screen reader.
|
||||
// Copyright (c) 2026 Storm Dragon
|
||||
// Authors: Storm Dragon, Angus Kola
|
||||
//
|
||||
// This program is free software: you can redistribute it and/or modify it
|
||||
// under the terms of the GNU General Public License as published by the Free
|
||||
// Software Foundation, either version 3 of the License, or (at your option)
|
||||
// any later version.
|
||||
//
|
||||
// This program is distributed in the hope that it will be useful, but WITHOUT
|
||||
// ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or
|
||||
// FITNESS FOR A PARTICULAR PURPOSE. See the GNU General Public License for
|
||||
// more details.
|
||||
//
|
||||
// You should have received a copy of the GNU General Public License along with
|
||||
// this program. If not, see <https://www.gnu.org/licenses/gpl-3.0.html>.
|
||||
|
||||
package config
|
||||
|
||||
import (
|
||||
"git.stormux.org/storm/cthulhu/internal/input"
|
||||
)
|
||||
|
||||
type VoiceFamily struct {
|
||||
Name string `toml:"name"`
|
||||
Lang string `toml:"lang"`
|
||||
Dialect string `toml:"dialect"`
|
||||
Variant string `toml:"variant"`
|
||||
}
|
||||
|
||||
type Voice struct {
|
||||
Rate *float64 `toml:"rate"`
|
||||
AveragePitch *float64 `toml:"average-pitch"`
|
||||
Gain *float64 `toml:"gain"`
|
||||
Family *VoiceFamily `toml:"family"`
|
||||
}
|
||||
|
||||
type ReadingSettings struct {
|
||||
AutomaticallyReadClipboardChanges bool
|
||||
AutomaticallyReadTitleChanges bool
|
||||
PhoneticCharacterHints bool
|
||||
EnablePauseBreaks bool
|
||||
SpeakNumbersAsDigits bool
|
||||
SpeakMultiCaseStringsAsWords bool
|
||||
EnableIndentation bool
|
||||
IndentationPresentationMode string
|
||||
OnlySpeakDisplayedText bool
|
||||
SpeakBlankLines bool
|
||||
EnableMnemonicSpeaking bool
|
||||
EnablePositionSpeaking bool
|
||||
EnableTutorialMessages bool
|
||||
MessagesAreDetailed bool
|
||||
UseColorNames bool
|
||||
PresentTooltips bool
|
||||
EnableMouseReview bool
|
||||
SpeakMisspelledIndicator bool
|
||||
SpeakContextBlockquote bool
|
||||
SpeakContextList bool
|
||||
SpeakContextTable bool
|
||||
SpeakContextPanel bool
|
||||
SpeakContextLandmark bool
|
||||
SpeakContextNonLandmarkForm bool
|
||||
SayAllContextBlockquote bool
|
||||
SayAllContextList bool
|
||||
SayAllContextTable bool
|
||||
SayAllContextPanel bool
|
||||
SayAllContextLandmark bool
|
||||
SayAllContextNonLandmarkForm bool
|
||||
ReadFullRowInGUITable bool
|
||||
ReadFullRowInDocumentTable bool
|
||||
ReadFullRowInSpreadSheet bool
|
||||
}
|
||||
|
||||
type PronunciationEntry struct {
|
||||
Word string `toml:"word"`
|
||||
Replacement string `toml:"replacement"`
|
||||
}
|
||||
|
||||
type TextAttributeChoice struct {
|
||||
Key string `toml:"key"`
|
||||
Speak bool `toml:"speak"`
|
||||
Braille bool `toml:"braille"`
|
||||
}
|
||||
|
||||
type TextAttributeSettings struct {
|
||||
Choices []TextAttributeChoice
|
||||
Indicator int
|
||||
}
|
||||
|
||||
var TextAttributeKeys = [...]string{
|
||||
"size", "family-name", "weight", "indent", "underline", "strikethrough",
|
||||
"justification", "style", "paragraph-style", "text-spelling", "fg-color", "bg-color",
|
||||
}
|
||||
|
||||
func DefaultTextAttributes() TextAttributeSettings {
|
||||
choices := make([]TextAttributeChoice, 0, len(TextAttributeKeys))
|
||||
for _, key := range TextAttributeKeys {
|
||||
choices = append(choices, TextAttributeChoice{Key: key, Speak: true})
|
||||
}
|
||||
return TextAttributeSettings{Choices: choices}
|
||||
}
|
||||
|
||||
// ProgressBarSettings follows NVDA's output modes and percentage thresholds.
|
||||
type ProgressBarSettings struct {
|
||||
OutputMode string
|
||||
ReportBackground bool
|
||||
BeepPercentageInterval int
|
||||
SpeechPercentageInterval int
|
||||
}
|
||||
|
||||
func DefaultProgressBarSettings() ProgressBarSettings {
|
||||
return ProgressBarSettings{OutputMode: "beep", BeepPercentageInterval: 1, SpeechPercentageInterval: 10}
|
||||
}
|
||||
|
||||
type Settings struct {
|
||||
OCR OCRSettings
|
||||
ProgressBar ProgressBarSettings
|
||||
TimeFormat string
|
||||
DateFormat string
|
||||
EnableSound bool
|
||||
SoundVolume float64
|
||||
SoundSink string
|
||||
SoundTheme string
|
||||
PlaySoundForRole bool
|
||||
PlaySoundForState bool
|
||||
PlaySoundForPositionInSet bool
|
||||
SpatializeObjectSounds bool
|
||||
RoleSoundPresentation string
|
||||
|
||||
Path string
|
||||
Loaded bool
|
||||
ActiveProfile string
|
||||
EnableSpeech bool
|
||||
SpeechHistoryLimit int
|
||||
SpeechInterruption input.InterruptionSettings
|
||||
EnableBraille bool
|
||||
EnableContractedBraille bool
|
||||
BrailleContractionTable string
|
||||
Braille BrailleOptions
|
||||
HardwareSpeechDevice string
|
||||
HardwareSpeechBaudRate int
|
||||
SpeechServerFactory string
|
||||
SpeakDescription bool
|
||||
SpeechVerbosityLevel int
|
||||
SayAllStyle string
|
||||
Reading ReadingSettings
|
||||
Pronunciations []PronunciationEntry
|
||||
TextAttributes TextAttributeSettings
|
||||
VerbalizePunctuationStyle int
|
||||
CapitalizationStyle string // Compatibility with older settings and the remote API.
|
||||
RaisePitchForCapitals bool
|
||||
BeepForCapitals bool
|
||||
SayCapForCapitals bool
|
||||
KeyBindings []input.BindingOverride
|
||||
KeyboardLayout int
|
||||
CthulhuModifierKeys []string
|
||||
EnableKeyEcho bool
|
||||
KeyEchoInEditFieldsOnly bool
|
||||
EnableEchoByCharacter bool
|
||||
EnableEchoByWord bool
|
||||
EnableEchoBySentence bool
|
||||
EnableAlphabeticKeys bool
|
||||
EnableNumericKeys bool
|
||||
EnablePunctuationKeys bool
|
||||
EnableSpace bool
|
||||
EnableModifierKeys bool
|
||||
EnableFunctionKeys bool
|
||||
EnableActionKeys bool
|
||||
EnableNavigationKeys bool
|
||||
EnableDiacriticalKeys bool
|
||||
UseCustomEchoVoice bool
|
||||
UseCustomEchoSpeechServer bool
|
||||
UseCustomEchoForKey bool
|
||||
UseCustomEchoForCharacter bool
|
||||
UseCustomEchoForWord bool
|
||||
UseCustomEchoForSentence bool
|
||||
EchoVoice Voice
|
||||
EchoSpeechServer string
|
||||
SpeechOutputModule string
|
||||
DefaultVoice Voice
|
||||
UppercaseVoice Voice
|
||||
HyperlinkVoice Voice
|
||||
SystemVoice Voice
|
||||
}
|
||||
|
||||
type OCRSettings struct {
|
||||
Language string
|
||||
Layout int
|
||||
Scale int
|
||||
Grayscale bool
|
||||
Invert bool
|
||||
BlackWhite bool
|
||||
Threshold int
|
||||
AutoRefresh bool
|
||||
RefreshInterval int // Milliseconds.
|
||||
ConfirmClick bool
|
||||
CopyFirstResult bool
|
||||
AutoReadAll bool
|
||||
}
|
||||
|
||||
const (
|
||||
DefaultSpeechHistoryLimit = 50
|
||||
MinSpeechHistoryLimit = 1
|
||||
MaxSpeechHistoryLimit = 1000
|
||||
)
|
||||
|
||||
type BrailleOptions struct {
|
||||
AbbreviateRoles bool
|
||||
DisableEOL bool
|
||||
WordWrap bool
|
||||
Verbosity int
|
||||
SelectionIndicator int
|
||||
LinkIndicator int
|
||||
FlashMessages bool
|
||||
FlashTime int
|
||||
FlashPersistent bool
|
||||
FlashDetailed bool
|
||||
}
|
||||
Reference in new issue
Block a user