Wiki

Clone wiki

UniPCemu / Controls

Default button mapping (PC/Android vs PSP)

The keyboard by default is mapped like a PSP (used in the menus and during non-Direct Input mode):

  • arrow keys are up/left/down/right
  • analog is i/j/k/l
  • analog percision is increased with t
  • triangle is mapped to numpad up(8, also space on Android)
  • square to numpad left(4)
  • cross is mapped to numpad down(2, also Enter on Android)
  • circle is mapped to numpad right(6 and Escape, also Backspace on Android)
  • Ltrigger is mapped to Q
  • Rtrigger is mapped to W
  • Home is mapped to Ctrl
  • Start is mapped to Enter/Carriage return(one key to the left on Android)
  • Select is mapped to Backspace(One key to the left on Android).

Emulator shortcuts:

  • RAlt/Alt Gr.-Enter toggles fullscreen mode (fullscreen is shifted off the top of the screen. Is this a SDL Bug?).
  • RAlt/Alt Gr.-F4 terminates the emulator (when it's not hanging in an infinite loop ofcourse).
  • RAlt/Alt Gr.-F5 makes a screen capture.
  • RAlt/Alt Gr.-F6 starts/stops sound recording.
  • RAlt/Alt Gr.-F9 makes the emulator perform debug actions (start/stop logging extra debugging information).
  • RAlt/Alt Gr.-F10 toggles direct input.

Note: due to the way UniPCemu tries to detect the AltGr key seperated from the Left Ctrl key, when pressing the left Ctrl key directly after the AltGr key it's ignored. Simply press the left Ctrl key again to combine it with the AltGr key press. This issue is fixed in source control.

Direct input mode

You can use the middle mouse button(not on Android/PSP) to (un)mount the mouse and keyboard directly. This mode doesn't quit using both mouse buttons. You can also mount that by pressing both mouse buttons(if you don't have a third mouse button, like on a laptop, PC only). This mode can be unmounted using both mouse buttons or third mouse button. Another option is the keyboard shortcut. Each of the options to mount(middle mouse button, both mouse buttons or kegboard shortcut) excludes the other options to unmount. In other words: the way to mount becomes the only way to unmount! In this way, a applicable option can be chosen by using a single one of the methods to mount, freeing the other options for normal usage within the emulator(e.g. using both mouse buttons within an emulated system without unmounting when releasing said button(s) or key combination).

Input modes

When not in direct input mode, the OSK is used. It shows three things to identify the input mode:

  • M: Mouse mode:
  • Square and Circle are the left and right mouse buttons.
  • Left, right (Up for both left and right) and RTrigger are handled as in keyboard mode (handling Ctrl, Alt and Shift respectively)
  • Analog moves the mouse.
  • Empty, OSK visible: Keyboard mode. Select one of 9 areas using the analog stick and press Circle, Cross, Triangle or Square to press a key.
  • G: Gaming mode. During this mode, most PSP keys are directly mapped to keyboard keys during default settings. This can be changed in the input menu to instead be mapped to emulated joystick input, with diffent joysticks being emulated.
  • Select returns to Mouse/Keyboard mode.

Mouse/keyboard mode

  • Start switches between Mouse mode and Keyboard mode.
  • Left is mapped to Ctrl
  • Right is mapped to Alt
  • Up is mapped to both Ctrl and Alt
  • Rtrigger is mapped to LShift
  • Holding Rtrigger and pressing Ltrigger ticks CapsLock.
  • Down activates Gaming mode. Holding any of the face buttons when releasing the down button changes the input mode mapping for the gaming mode from the default(down) settings to one of the face buttons that are pressed.
  • During Keyboard mode, Ltrigger toggles the next keyboard set (for a total of three sets)
The CAPTURE key in the Keyboard makes a screen capture of the VGA screen in the captures directory.

When pressing Select when running or when the yellow option is displayed before booting the emulator BIOS/bootstrap the BIOS settings menu is opened. Here you can configure the emulator.

Buttons in the lower-right corner of the screen/window

The settings menu can also be opened anytime using the Set button in the lower right corner of the application. There's also the option of a OSK, by clicking in the bottom right of the application(window) to display and hide an on-screen keyboard, The Cap button(and Capture key in the PSP Keyboard mode) will make a screen capture of the emulated video output. It will be the active color while pending and become the inactive color when saved(when rendering an emulated frame, during vertical retrace of the emulated graphics card). The Sti-button enables a Sticky keys mode on the OSK, making Ctrl, Alt and Shift sticky keys. Clicking/tapping a sticky key when it's held(by clicking/tapping it once to make it hold(become the active color)) will release said key. There's also an a button in the lower-right corner of the screen. That button displays and hides the OSK(On Screen Keyboard) for use with mouse and touchscreens(like the other buttons and Settings menu options.

When in the BIOS menu

  • Cross(Numpad 2, and Enter on Android, also tapping/left mouse click on an item) confirms.
  • Circle(Numpad 6 and Escape, also Backspace on Android) cancels.
  • Triangle(Numpad 8, and Space on Android) loads defaults/clears option/unmounts a disk(when selecting the disk to mount).
  • Square(Numpad 4) toggles readonly on disk images. The <R> indicates readonly disks.
  • LTrigger/Left(Q) and RTrigger/Right(W) are used to switch between the differrent settings tabs.
  • Errors due to empty lists are handled silently. It will simply abort showing the list and return to the menu it was chosen(the first item in the menu).

Light pen input (CGA/EGA video cards only)

When using a mouse, while it isn't mounted, pointing to a location and pressing the right mouse button sets the light pen position. Pressing the left mouse button while holding the right mouse button to point causes the button on the light pen to be pressed. When the right mouse button is released or the left mouse button isn't pressed while the right mouse button is pressed(lightpen input activated for the pointed location), the button on the light pen is released.

On touch screens, touching the middle mouse button using the touch input (the area at the top of the window or screen between the left and right mouse buttons) and then touching the right mouse button area triggers touch input instead of the right mouse button becoming pressed. When this light pen input mode is activated, it's indicated by the indicator at the bottom right of the screen changing into a "L". When said light pen input mode is active (until either the finger that pressed the right mouse button area or the finger holding the middle mouse button is released), holding another finger on the screen points the light pen input at the specified coordinates on the screen (the same is true for a mouse pressing the right mouse button when not in direct input mode and the emulator is running). Releasing said finger from the touch input removes the light pen input from the emulated machine. While pointing at a location on the screen using the light pen input, a second finger can touch the screen to press the button on the light pen (like the left mouse button when using the mouse). The touch for the light pen button and pointer will be continued to be tracked until released. Touching again will activate the input (location or button) that isn't registered yet(location if button is pressed (or neither is registered), button otherwise (unless both are already being tracked)). Releasing both the light pen location input and the light pen button input will make the next touch trigger the location input again.

The location of the light pen input only has effect on the active display area of the emulated machine. Pointing it outside of the active display area won't trigger the light pen for the software to register until pointed inside the area again.

Debugger

When the debugger is in it's breakpoint mode (it's visible), it supports various inputs:

  • Cross: Step to the next breakpoint
  • Square: Skip instructions until the command is finished. Circle modifies it to wait for a jump to be taken from the debugging instruction instead.
  • Select: Opens the settings menu.
  • Triangle: Skip 10 instructions.
    • Circle modifies it to dump memory to memory.dat when triangle is released.
    • Square starts the memory viewer instead. Enter the physical memory address to view (Using emulated input keys). It will show a 16x16 grid that's browsable by moving the cursor around using the arrow keys or directional buttons. The row (address divided by 16) and column (modulo 16) as well as the value it contains in the memory are highlighted. The address selected is also shown at the top of the memory viewer. Press X to close the memory viewer and return to the breakpoint. Entering an empty address also closes the memory viewer and returns to the breakpoint.

Updated