From Fedora Project Wiki
< Desktop | Whiteboards
Line 136: | Line 136: | ||
* Audio CDs | * Audio CDs | ||
** inserting an audio cd should bring up a dialog that offers (among other things) to run rhythmbox | ** inserting an audio cd should bring up a dialog that offers (among other things) to run rhythmbox | ||
** May also want it to offer to run software to create oggs from the CD | |||
* Video DVDs | * Video DVDs | ||
** inserting a video cd should bring up a dialog that offers to run totem | ** inserting a video cd should bring up a dialog that offers to run totem | ||
* Data CDs | * Data CDs | ||
** inserting a data cd should bring up a dialog that offers to mount the medium | ** inserting a data cd should bring up a dialog that offers to mount the medium | ||
* USB sticks | * USB sticks ['''may be better to replace this with "USB storage" -shillman'''] | ||
** inserting a usb stick should bring up a dialog that offers to mount the medium | ** inserting a usb stick should bring up a dialog that offers to mount the medium ['''I disagree; I think it should just mount it, with an option elsewhere to change the default setting. -shillman'''] | ||
* Empty CDs | * Empty CDs | ||
** inserting an empty cd should bring up a dialog that offers to run a cd burning application | ** inserting an empty cd should bring up a dialog that offers to run a cd burning application | ||
* Storage devices (Firewire, USB; other options?) should be mounted, and have an option elsewhere to change this behavior. | |||
* Digital cameras should open a photo manager, with an option to change the default behavior to opening a photo editing tool instead or in addition (the latter will still need the photos downloaded, however; this may be complicated to try to do). | |||
* Video cameras | |||
** TBD | |||
* PDA | |||
** iPhone should _not_ have the default camera behavior if there are photos available, and should just open the software that correctly handles iPhones in Linux (rhythmbox?). It should be possible to set it so that it does also open the photo manager, if desired. | |||
** Palm should sync if the sync button has been pressed, and open the Palm software. | |||
** others? Should there be a default PDA behavior? | |||
=== Other Peripherals === | === Other Peripherals === |
Revision as of 19:30, 21 October 2009
Hardware Handling
This page is an attempt to write down expected behaviors of the desktop wrt. to common hardware. Having this specified at some level of detail will help with both QA and development.
Keyboard
- Media keys: play/pause, stop, forward, back
- These should trigger the corresponding action in the currently open media player (rhythmbox or totem). If more than one media player is open, control goes to the one that is currently focused. If no media player has the focus, control goes to the one that most recently had the focus.
- expected X keysyms: XF86AudioPlay, XF86AudioStop, XF86AudioPrev, XF86AudioNext
- Volume Keys: Volume Up, Volume Down, Mute
- These should trigger the corresponding action in the currently open media player (rhythmbox or totem). If more than one media player is open, control goes to the one that is currently focused. If no media player has the focus, control goes to the one that most recently had the focus.
- Expected X keysyms: [Unknown]
- Power mgmt. keys: suspend, hibernate, power
- The suspend button should suspend the laptop
- The hibernate button should hibernate the laptop
- The power button should bring up a shutdown dialog. When the laptop is suspended, pressing the power button should resume it.
- These actions are controlled by GConf keys in /apps/gnome-power-manager/buttons
- expected X keysyms: XF86Sleep, XF86Suspend, XF86Hibernate
- Brightness up/down keys
- should bring up an on-screen display and control the brightness
- expected X keysyms XF86MonBrightnessUp, XF86MonBrightnessDown
- Display key (commonly Fn-F7)
- Should cycle through display configurations (only interesting with multiple displays)
- expected X keysym: XF86Display
- Lock screen key (Fn-F2)
- should lock the screen (same as the default keybinding for Control-Alt-L)
- expected X keysym: XF86ScreenSaver
- forward/back keys
- should do forward/back in web browsers
- expected X keysym: XF86Forward, XF86Back
- num lock key
- the num lock setting should persist across logout/login, this is controlled by the gconf key /desktop/gnome/peripherals/keyboard/remember_numlock_state, and the state is stored in /desktop/gnome/peripherals/keyboard/host-<hostname>/<display>/numlock_on
- Disable/Enable trackpoint (commonly Fn-F8)
- There is no X keysym for this, as virtually all laptops handle this in hardware. It's not yet clear whether we can get an event to track state though, which might be nice.
- regular keys
- the keyboard capplet should provide a matching keyboard layout
[What is a caplet? A link or explaination would be nice. -shillman]
Mouse
- Trackpoint (rubber-tipped pointing device typically found in the center of the keyboard)
- It should just work. Some laptops don't allow to use the trackpoint/touchpad and an external mouse at the same time, though.
- Touchpad
- Edge scrolling should be on by default on touchpads that support it
- Optionally, the touchpad can be disabled while using the keyboard. This is not turned on by default
- The touchpad can be configured in the mouse capplet
- Left-handedness
- Toggling handedness of the mouse should swap left/right buttons, but not affect touchpads
- This can be configured in the mouse capplet
- Acceleration
- TBD
Display
- Resolution
- LCDs and other fixed-format displays should default to the native resolution
- Variable-format displays (CRTs, projectors...) that define a preferred mode, should default to that preferred mode
- Variable-format displays that do not define a preferred mode should do... well, something sensible. Currently being designed.
- Can be configured in the display capplet
- Backlight
- Should get turned off after 10 minutes of idleness. This timeout can be configured in the power management preferences.
- Should get turned on after resume
- 3D
- is expected to work on some hardware:
- ATI: Rage 128; all Radeons up to and including R500 series (X + four digits); experimental support for R600
- Intel: All except i740 and Poulsbo
- NVIDIA: TODO fill me in
- Other: TODO fill me in
- DRI2 support is required for GLX and Xv to work correctly under a compositor, and is available on TODO fill me in.
- If hw-accelerated 3D is not available, the desktop effects capplet will refuse to turn desktop effects on
- If the required extensions for desktop effects are not available, the desktop effects capplet will refuse to turn desktop effects on.
- is expected to work on some hardware:
- External monitors
- When an external monitor is plugging in, it should be detected and turned on
- Currently only supported on Intel hardware
- When booting with multiple monitors, the default configuration is to place the monitors in a horizontal configuration (not cloning) if possible.
- "If possible": There is a maximum width limit on most hardware; if placing all the connected monitors horizontally adjacent would exceed this limit, fall back to cloning. TODO list the limits for common hardware.
- Display ordering should be as consistent as possible when using the same set of displays, and moving between display sets.
- The Fn-F7 key cycles between supported configurations (need details about the configurations)
- Potentially at least 'at work', 'at home', and 'on the go' configuration sets.
- Need at least to not surprise people when their screen real estate changes between locations (if you reduce screen real estate, make it possible to see everything that was previously opened, but also not overlap to an absurd extent. Increased screen real estate will probably be less of a big deal).
- Placement, rotation and resolution of monitors can be configured in the display capplet
- When an external monitor is plugging in, it should be detected and turned on
Power Management
- Closing the lid should trigger a suspend (always ?)
- It should not do anything if closed with AC power.
- Possibly, it should not do anything on close if there is an external monitor attached.
- Critically low battery should trigger a shutdown (after a warning message)
- Or a hibernate, if an option?
- Battery monitoring
- Status icon should display usefully accurate information about charge level and estimated battery life
- When becoming critically low, a warning should be displayed
- suspend/power button handling: see the keyboard section
- brightness control
- for brightness keys, see the keyboard section
- when on battery, the system should lower the brightness on its own (more detail needed)
- docking
- TBD
Networking
- wireless
- when wireless networks are available, but none has been configured to be automatically connected, you should get an information that networks are available
- wired
- a wired connection should be brought up by default, when logging in
- really? on login? I'd think on boot, myself.
- a wired connection should be brought up by default, when logging in
- broadband modem
- TBD
Sound
- The volume level should be 'reasonable' out of the box
- Not muted. Not deafening. And it should also not change for no apparent reason.
- A 'system-ready' sound is played when reaching the login screen after boot
- A login sound is played when logging in
- Media applications like rythmbox and totem should play sound without problems
- Websites that play music or video should play sound without problems
- Multiple applications can play sound at the same time, and the sound capplet lets you control their relative volume
- Headphones
- All headphone jacks should work out of the box.
- If a headphone is plugged in, external speakers should not produce sound. Only the headphone. (this should also be possible to modify, if desired)
- Microphone
- All microphone jacks should work out of the box, with no fiddling required.
- In the case that a microphone is muted by default, if a microphone is plugged in, it should be unmuted.
- if there is an internal microphone, recording should work without fiddling
- Headsets
- Headsets, both jack-based and USB, should work out of the box for both input and output.
- If a headset is plugged in, external speakers should not produce sound. Just the headset. See above about modification (it is possible that one would want sound to come from external speakers, but input to come from a headset, for example).
Removable media
- Audio CDs
- inserting an audio cd should bring up a dialog that offers (among other things) to run rhythmbox
- May also want it to offer to run software to create oggs from the CD
- Video DVDs
- inserting a video cd should bring up a dialog that offers to run totem
- Data CDs
- inserting a data cd should bring up a dialog that offers to mount the medium
- USB sticks [may be better to replace this with "USB storage" -shillman]
- inserting a usb stick should bring up a dialog that offers to mount the medium [I disagree; I think it should just mount it, with an option elsewhere to change the default setting. -shillman]
- Empty CDs
- inserting an empty cd should bring up a dialog that offers to run a cd burning application
- Storage devices (Firewire, USB; other options?) should be mounted, and have an option elsewhere to change this behavior.
- Digital cameras should open a photo manager, with an option to change the default behavior to opening a photo editing tool instead or in addition (the latter will still need the photos downloaded, however; this may be complicated to try to do).
- Video cameras
- TBD
- PDA
- iPhone should _not_ have the default camera behavior if there are photos available, and should just open the software that correctly handles iPhones in Linux (rhythmbox?). It should be possible to set it so that it does also open the photo manager, if desired.
- Palm should sync if the sync button has been pressed, and open the Palm software.
- others? Should there be a default PDA behavior?
Other Peripherals
- Cameras
- connecting a camera via usb should bring up a dialog that offers to run a photo management app
- Media Players
- connecting a media player should bring up a dialog that offers to run rhythmbox
- Printers
- TBD
Other Hardware
- Bluetooth
- TBD
- Fingerprint reader
- TBD