Files
Rocky cc8dd1070a feat: macOS architecture, cloud ASR/LLM providers, and 6-step iOS onboarding
- Add macOS menu-bar dictation app with local ASR models (SenseVoice/Qwen3),
  global Option hotkey, and bottom overlay
- Add cloud ASR/LLM providers (Anthropic, Volcengine, Bailian, and more) with
  provider logos, model listing, and connection checks
- Add shared 7-day usage stats UI (UsageStatsCluster / SevenDayUsageChart)
- Add iOS onboarding step 6 for polish LLM setup; hide custom-language-model
  diagnostic toggle behind DEBUG
- Unify iOS onboarding tagline with the macOS brand line ("开口即文字。")
- Rewrite README (Chinese-first, product-oriented) and refresh GitHub Pages
2026-07-11 19:10:20 +08:00

30 lines
902 B
Swift

// HandednessPreference.swift
// OSGKeyboard · Shared
//
// Which hand the user holds the phone with — controls bottom-row key order
// on the keyboard (delete ↔ space swap for right-handed use).
import Foundation
public enum HandednessPreference: String, CaseIterable, Identifiable, Sendable, Codable {
case left
case right
public var id: String { rawValue }
public var labelKey: String {
switch self {
case .left: return "settings.handedness.left"
case .right: return "settings.handedness.right"
}
}
/// Right-handed preference places space on the left and delete on the right.
public var swapsActionKeys: Bool { self == .right }
public static func fromStored(_ raw: String?) -> HandednessPreference {
guard let raw, let value = HandednessPreference(rawValue: raw) else { return .left }
return value
}
}