8.2 KiB
KEY2-SPEC-02 : regroupement du menu Clavier par fonctionnalité (étude)
Fiche KEY2-SPEC-02 — Niveau N3 — Modèle prévu opus (Medium) | utilisé Opus 5.5 — Session « Medium · KEY2 » — Skills : sk-protocol, lp-doc.
Date : 2026-10-20. Ordre de Big Boss local_104ff22d, après COMMUN-18.14 (PASS). Demande de l'utilisateur, citée : « 14 ok mais il faudrait regroupé les touche par fonctionalité ».
Étude seule : aucun code, aucune copie UE. Fichier lu : Source/LifePlay/LPKeyboardSubsystem.cpp (MD5 9d450aaf) et Config/DefaultInput.ini.
0. Décision de l'utilisateur (2026-10-20, citée par Big Boss)
« regroupement des touches ok ». Big Boss l'applique avec les recommandations de cette fiche :
- les 9 sections du § 2, dans l'ordre et avec les noms proposés ;
- option (A) : les flèches à deux places, même liaison ;
- Pause dans Time, TestScenes dans System ;
- RotateCamera en Camera seulement, signalé dans le libellé d'ActionPanel.
Réalisé par KEY2-IMPL-02 (affichage seul, LPKeyboardSubsystem.cpp, instantané KEY2-IMPL3) : MD5 9d450aaf → 0eb6a592 ; +63 / −62 ; CRLF gardé (1491 / 1491). Rien n'est changé dans DefaultInput.ini, dans LPKeyboard.ini ni dans les noms internes ; aucune migration. Compilation en attente du jeton UE.
1. État actuel (établi)
GroupFor (LPKeyboardSubsystem.cpp:207-262) range chaque action ou axe dans une section (Order) et, pour la section Scene, dans un bloc (Sub). Le tri se fait par section, puis bloc, puis libellé (:489-505), et le dessin par titre de section, puis sous-titre de bloc (:508-535).
| Ordre | Section affichée | Contenu |
|---|---|---|
| 0 | Movement | MoveForward, MoveRight |
| 2 | Interaction | Interact, SwapRoles |
| 3 | Menus | MainMenu, CharacterMenu, Inventory, Journal, ContactsMenu, CityMenu, StatMenu, ModuleMenu, SearchBarToggle, Pause |
| 4 | Favorites | Favorite0 à Favorite9 |
| 5 | Time | SpeedUp, SpeedDown |
| 6 | World | NextBuilding, PreviousBuilding |
| 7 | Save | QuickSave, Quickload |
| 8 | Scene › Camera | ScrollDownUp, RotateCamera, SwitchCamera, CameraHeight |
| 8 | Scene › Characters | option « Move couple with », ManualAnimating, l'axe de rotation, CoupleMoveY, LeftRight, DownUp |
| 8 | Scene › Actions | ActionPanel |
| 8 | Scene › Other | TestScenes, Recommended |
Défauts pour le joueur :
- les commandes générales de la caméra (SwitchCamera, RotateCamera, zoom) sont rangées sous « Scene », alors qu'elles servent partout ;
- Pause est dans Menus et non dans Time ;
- les flèches n'apparaissent que dans le bloc du couple, alors qu'elles déplacent aussi la vue de dessus hors scène ;
- Interact (Interaction) est séparé d'ActionPanel (Scene › Actions).
Ne sont pas affichés, et ne le seront pas : ActionX / ActionY et CursorX / CursorY (axes de la souris, refusés par IsRemappable, :75-78).
2. Regroupement proposé (ordre d'affichage)
Libellés en anglais, comme le reste du menu ; la traduction est donnée entre parenthèses.
| Ordre | Section (libellé) | Actions et axes | Remarque |
|---|---|---|---|
| 1 | Movement (Déplacement) | MoveForward, MoveRight | inchangé |
| 2 | Camera (Caméra) | SwitchCamera, RotateCamera, ScrollDownUp (zoom), CameraHeight | sort de Scene ; CameraHeight n'agit qu'en scène : libellé « Camera Height Up / Down (scene) » |
| 3 | Map & World (Carte et monde) | LeftRight, DownUp (vue de dessus), NextBuilding, PreviousBuilding | les flèches y sont libellées « Map Right / Left / Forward / Back » |
| 4 | Couple (scene) (Couple en scène) | option « Move couple with », CoupleMoveY (Up / Down), DownUp, LeftRight (couple), ManualAnimating, l'axe de rotation existant | les flèches y sont libellées « Couple Forward / Back / Right / Left » |
| 5 | Actions & Interaction (Actions et interaction) | Interact, ActionPanel, SwapRoles, Recommended | regroupe Interact et ActionPanel |
| 6 | Menus | MainMenu, CharacterMenu, Inventory, Journal, ContactsMenu, CityMenu, StatMenu, ModuleMenu, SearchBarToggle | Pause en sort |
| 7 | Time (Temps) | Pause, SpeedUp, SpeedDown | Pause y entre |
| 8 | Favorites (Favoris) | Favorite0 à Favorite9 | inchangé |
| 9 | System (Système) | QuickSave, Quickload, TestScenes | Save devient System ; TestScenes y entre (zone de commande interne, KEY1-CART-01 § 12.3) |
Plus de sous-titres de bloc : chaque section est courte (2 à 10 entrées).
3. Actions qui appartiennent à deux groupes
| Action ou axe | Groupes | Raison |
|---|---|---|
| LeftRight, DownUp (flèches) | Map & World, Couple (scene) | vue de dessus hors scène, couple en scène (CAM2-SPEC-02 § 7) |
| ScrollDownUp (molette) | Camera, Couple (scene) ? | zoom hors scène ; en scène, rôle à confirmer (KEY2-DIAG-02 § 3.4, et point b de la relecture CAM2-IMPL-03) : à classer en Camera seulement tant que ce n'est pas établi |
| RotateCamera (Alt, clic du milieu) | Camera ; Actions (en scène) | un appui bref en scène bascule aussi le panneau d'action (LPCameraModeSubsystem.cpp, TickPanelClick). Proposé : Camera seulement, avec la mention dans le libellé d'ActionPanel (« Action Panel (also Alt / middle click) ») |
| ManualAnimating (Ctrl, clic droit) | Couple (scene) | Ctrl sert aussi de modificateur aux menus (Ctrl+C, Ctrl+E…) : rien à dupliquer, c'est la touche seule |
Affichage d'une action à deux groupes, à choisir par l'utilisateur :
- (A) Deux places, recommandé. La même liaison apparaît dans les deux sections, avec le libellé de la section (« Map … » / « Couple … »). Changer la touche dans l'une la change dans l'autre, car c'est la même liaison : le menu se redessine depuis les réglages (
Rebuild,RefreshMenu). Le joueur trouve la touche là où il la cherche. - (B) Une seule place. Section principale Couple (scene), avec un libellé à double sens comme aujourd'hui (« Forward (map view / couple) »). C'est plus court, mais on ne la trouve pas dans Map & World.
4. Changements dans LPKeyboardSubsystem.cpp (prévision, aucun autre fichier)
GroupFor(:208-262) : nouvelle table de 9 sections, conforme au § 2. Les constantesKbSceneOrderetKbCharactersSub(:48-49) deviennentKbCoupleOrder; les sous-titres de bloc (Sub,SubTitle) sont retirés.- Option (A) seulement :
GroupForrend une liste de sections (TArray<FBindGroup>, deux entrées pour LeftRight et DownUp) ;- la construction de
Binds(:453-488) ajoute une ligne par section ; FBindRowreçoit l'ordre de section pour le tri et le dessin (:489-535) ;AxisLabel(:163-196) prend la section pour choisir « Map … » ou « Couple … ».
- L'option « Move couple with » s'accroche au début de la section Couple (scene), au lieu du bloc Characters (
:533-535). - Libellés : « Camera Height Up / Down (scene) » ; « Action Panel (also Alt / middle click) » ; flèches selon (A) ou (B).
- Aucun changement de
DefaultInput.ini, deLPKeyboard.ini, de nom interne ni de migration : le regroupement ne touche que l'affichage. - Contenu adulte (doc 27) : aucun libellé nouveau. L'axe de rotation garde « Rotation + / − ».
5. Coût estimé
| Étape | Option (B) | Option (A) |
|---|---|---|
| IMPL (lp-impl ou la session, hors copie UE, sous instantané) | environ 40 lignes changées, 1 fichier | environ 90 lignes changées, 1 fichier |
| Build (jeton UE) et VAL statique | 1 build éditeur + Development, environ 5 min | idem |
| Essai en jeu | une capture du menu Clavier : ordre des 9 sections ; Change sur une flèche | idem, plus : changer une flèche dans Map & World la change dans Couple (scene) |
| Risque | faible (affichage seul) | faible à moyen (tri et dessin avec lignes doublées ; Remove d'une ligne doublée retire la liaison des deux sections, ce qui est voulu) |
6. Questions pour l'utilisateur (par Big Boss)
- L'ordre et les noms des 9 sections du § 2 conviennent-ils ?
- Une action à deux groupes (flèches) : (A) deux places, recommandé, ou (B) une seule place ?
- Pause dans Time, et TestScenes dans System : d'accord ?
- RotateCamera (Alt, clic du milieu) : en Camera seulement, avec la mention dans le libellé d'ActionPanel ?
Fichiers écrits : ce livrable. À commiter : A Docs/Migration/etat/REL/KEY2/KEY2-SPEC-02.md. Aucun git qui écrit.