Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions Cargo.lock

Some generated files are not rendered by default. Learn more about how customized files appear on GitHub.

19 changes: 15 additions & 4 deletions docs/keymap.md
Original file line number Diff line number Diff line change
Expand Up @@ -4,25 +4,36 @@

| Key | Action |
|---------------------|-----------------------------|
| `q`, `<C-c>` | Quit |
| `<C-c>` | Quit |
| `?` | Toggle keymap popup |
| `<Esc>` | Dismiss popup |
| `<Tab>` / `<S-Tab>` | Switch to next/previous tab |

## World Map

| Key | Action |
|-----------------------------------------|---------------------------------|
| `<LeftMouse>` | Select the nearest object |
| `<RightMouse>` | Deselect current object |
| `<ScrollWheelUp>` / `<ScrollWheelDown>` | Move the world map left/right |
| `[` / `]` | Move the world map left/right |
| `W` / `A` / `S` / `D` | Move the world map |
| `E` / `+` | Zoom the world map in |
| `Q` / `-` | Zoom the world map out |
| `f` | Toggle object tracking (follow) |
| `t` | Toggle day-night terminator |

## Timeline

| Key | Action |
|-----------------------------------------|------------------------------|
| `<Left>` / `<Right>` | Adjust time backward/forward |
| `<ScrollWheelUp>` / `<ScrollWheelDown>` | Adjust time backward/forward |
| `r` | Reset time offset |

## Satellite Groups

| Key | Action |
|-----------------------------------------|------------------------------|
| `<Up>` / `<Down>` | Move selection up/down |
| `/` | Search inside groups |
| `<Space>` / `<LeftMouse>` | Select/deselect group |
| `<ScrollWheelUp>` / `<ScrollWheelDown>` | Move selection up/down |

4 changes: 4 additions & 0 deletions locales/de.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,7 @@ keymap.follow: "Objektverfolgung umschalten"
keymap.terminator: "Tag-Nacht-Grenze umschalten"
keymap.adjust_time: "Zeit zurück/vor"
keymap.reset_time: "Zeitversatz zurücksetzen"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
9 changes: 7 additions & 2 deletions locales/en.yml
Original file line number Diff line number Diff line change
Expand Up @@ -3,7 +3,7 @@ _version: 1
map.title: "World map"
map.follow: "Follow"
# Satellite groups
group.title: "Satellite groups"
group.title: "Satellite Groups"
# Information
info.title: "Info"
info.name: "Name"
Expand Down Expand Up @@ -35,13 +35,18 @@ keymap.title: "Keymap"
keymap.global: "Global"
keymap.world_map: "World Map"
keymap.timeline: "Timeline"
keymap.satellite_groups: "Satellite Groups"
keymap.quit: "Quit"
keymap.help: "Toggle keymap popup"
keymap.dismiss: "Dismiss popup"
keymap.switch_tab: "Switch to next/previous tab"
keymap.select: "Select the nearest object"
keymap.deselect: "Deselect current object"
keymap.map_move: "Move the world map left/right"
keymap.map_move: "Move the world map"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
keymap.follow: "Toggle object tracking (follow)"
keymap.terminator: "Toggle day-night terminator"
keymap.adjust_time: "Adjust time backward/forward"
Expand Down
4 changes: 4 additions & 0 deletions locales/es.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,7 @@ keymap.follow: "Alternar seguimiento de objeto"
keymap.terminator: "Alternar terminador día-noche"
keymap.adjust_time: "Retroceder/avanzar tiempo"
keymap.reset_time: "Restablecer desfase de tiempo"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
4 changes: 4 additions & 0 deletions locales/fr.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,7 @@ keymap.follow: "Basculer le suivi d'objet"
keymap.terminator: "Basculer le terminateur jour-nuit"
keymap.adjust_time: "Reculer/avancer le temps"
keymap.reset_time: "Réinitialiser le décalage horaire"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
4 changes: 4 additions & 0 deletions locales/ja.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,7 @@ keymap.follow: "オブジェクト追跡を切り替え"
keymap.terminator: "昼夜境界線を切り替え"
keymap.adjust_time: "時間を戻す/進める"
keymap.reset_time: "時間オフセットをリセット"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
4 changes: 4 additions & 0 deletions locales/ru.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,7 @@ keymap.follow: "Переключить отслеживание объекта"
keymap.terminator: "Переключить терминатор день-ночь"
keymap.adjust_time: "Время назад/вперёд"
keymap.reset_time: "Сбросить смещение времени"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
4 changes: 4 additions & 0 deletions locales/zh.yml
Original file line number Diff line number Diff line change
Expand Up @@ -46,3 +46,7 @@ keymap.follow: "切换目标跟随"
keymap.terminator: "切换昼夜分界线"
keymap.adjust_time: "时间后退/前进"
keymap.reset_time: "重置时间偏移"
keymap.map_zoom: "Zoom the world map in/out"
keymap.group_move: "Move selection up/down"
keymap.group_search: "Search inside groups"
keymap.group_select: "Select/deselect group"
4 changes: 0 additions & 4 deletions src/app.rs
Original file line number Diff line number Diff line change
Expand Up @@ -128,10 +128,6 @@ impl App {

fn handle_key_events(&mut self, event: KeyEvent) {
match event.code {
// Exit application on `Q`.
KeyCode::Char('q') => {
self.request_exit();
}
// Exit application on `Ctrl-C`.
KeyCode::Char('c') if event.modifiers == KeyModifiers::CONTROL => {
self.request_exit();
Expand Down
4 changes: 2 additions & 2 deletions src/utils.rs
Original file line number Diff line number Diff line change
Expand Up @@ -86,7 +86,7 @@ pub fn subsolar_point(time: &DateTime<Utc>) -> (f64, f64) {
/// A vector of `(longitude, latitude)` pairs in degrees, representing the
/// terminator line.
pub fn calculate_terminator(time: &DateTime<Utc>) -> Vec<(f64, f64)> {
const LON_STEP: usize = 5;
const LON_STEP: usize = 1;

let (sub_lon, decl) = subsolar_point(time);
let mut points = Vec::with_capacity(361 / LON_STEP);
Expand Down Expand Up @@ -119,7 +119,7 @@ pub fn calculate_ground_track(object: &Object, time: &DateTime<Utc>) -> Vec<(f64
///
/// See <https://en.wikipedia.org/wiki/Great-circle_distance>.
pub fn calculate_visibility_area(position: &Lla) -> Vec<(f64, f64)> {
const AZIMUTH_STEP: usize = 10;
const AZIMUTH_STEP: usize = 2;

let lat0_rad = position.lat.to_radians();
let lon0_rad = position.lon.to_radians();
Expand Down
18 changes: 15 additions & 3 deletions src/widgets/keymap.rs
Original file line number Diff line number Diff line change
Expand Up @@ -7,7 +7,7 @@ use unicode_width::UnicodeWidthStr;

// Global
const GLOBAL_BINDINGS: &[(&str, &str)] = &[
("q, <C-c>", "keymap.quit"),
("<C-c>", "keymap.quit"),
("?", "keymap.help"),
("<Esc>", "keymap.dismiss"),
("<Tab> / <S-Tab>", "keymap.switch_tab"),
Expand All @@ -17,22 +17,34 @@ const GLOBAL_BINDINGS: &[(&str, &str)] = &[
const MAP_BINDINGS: &[(&str, &str)] = &[
("<LeftMouse>", "keymap.select"),
("<RightMouse>", "keymap.deselect"),
("<ScrollWheelUp> / <ScrollWheelDown>", "keymap.map_move"),
("[ / ]", "keymap.map_move"),
("W / A / S / D", "keymap.map_move"),
("E / +", "keymap.map_zoom"),
("Q / -", "keymap.map_zoom"),
("f", "keymap.follow"),
("t", "keymap.terminator"),
];

// Timeline
const TIMELINE_BINDINGS: &[(&str, &str)] = &[
("<Left> / <Right>", "keymap.adjust_time"),
("<ScrollWheelUp> / <ScrollWheelDown>", "keymap.adjust_time"),
("r", "keymap.reset_time"),
];

// Satellite Groups
const GROUP_BINDINGS: &[(&str, &str)] = &[
("<Up> / <Down>", "keymap.group_move"),
("/", "keymap.group_search"),
("<Space>", "keymap.group_select"),
("<LeftMouse>", "keymap.group_select"),
("<ScrollWheelUp> / <ScrollWheelDown>", "keymap.group_move"),
];

const SECTIONS: &[(&str, &[(&str, &str)])] = &[
("keymap.global", GLOBAL_BINDINGS),
("keymap.world_map", MAP_BINDINGS),
("keymap.timeline", TIMELINE_BINDINGS),
("group.title", GROUP_BINDINGS),
];

pub struct Keymap;
Expand Down
Loading