History log of /haiku/src/add-ons/kernel/debugger/usb_keyboard/usb_keyboard.cpp
Revision Date Author Comments
# dbd527de 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

usb_keyboard: Try clearing endpoint stall on transfer failure.

As the keyboard is used from usb_hid in the userland as well, we quite
probably are not in sync with the data toggle. Clearing the stall
should restore the toggle and make things work.


# 326645d2 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

usb_keyboard: Simplify to generalized usb_process_transfer.


# dd89f967 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

usb_keyboard: Add support for debug keyboards on all HCIs.

Check for support of debug transfers from all HCIs and use the ones
that provide it.


# ec5cc81f 13-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

exit_debugger():
* Only try to cancel the a transfer, if sUseUSBKeyboard is set.
* Set the "_usbPipe" parameter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42181 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8bcc50c3 12-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar()
which don't wait for a character, but return -1 when no character is
available ATM. Implemented correctly for x86 only.
* Changed the semantics of the debugger_module_info::debugger_getchar() hook.
It is supposed to return immediately now.
* Adjusted usb_keyboard accordingly. Hacked UHCI's debug_process_transfer() to
achieve that. It does now start, check, or cancel a transfer. Split
UHCI::ProcessDebugTransfer() into StartDebugTransfer(), and
CheckDebugTransfer() accordingly, and also added a CancelDebugTransfer().
The latter seems to have issues. Michael, please have a look. I have no clue
what I'm doing. :-)
* Adjusted kgetc() to poll all possible inputs using the new
functions/semantics. This allows to use any input (USB, PS/2, serial) in KDL.
* Removed the no longer needed "serial_input" command.
* read_line(): Also support 0x7f as backspace code. That's what xterm sends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a0bca36 19-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Unset the debugger variables before evaluating support to ensure that in case of
error we do not reuse old values from a previous KDL session. This ensures that
we don't try to use a USB keyboard if it was un- and replugged on an unsupported
port.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30266 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b9d5a2e 10-Mar-2009 Michael Lotz <mmlr@mlotz.ch>

* Add has_debugger_command() so whether or not a debugger command is available
can be checked.
* Make the usb_keyboard module check the presence of the needed debugger
commands to avoid the error messages in case of them being unavailable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29472 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c053f17 22-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Obviously forgot this in the last commit...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29292 a95241bf-73f2-0310-859d-f6bbb57e9c96


# dbd527de10bf916febd63f3633aaf88ad9f568a9 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

usb_keyboard: Try clearing endpoint stall on transfer failure.

As the keyboard is used from usb_hid in the userland as well, we quite
probably are not in sync with the data toggle. Clearing the stall
should restore the toggle and make things work.


# 326645d2daa33ad504042fc46630dbdca2e6358b 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

usb_keyboard: Simplify to generalized usb_process_transfer.


# dd89f967a7ca0898c016cd90ae6fd4ff80b4e95a 31-Aug-2014 Michael Lotz <mmlr@mlotz.ch>

usb_keyboard: Add support for debug keyboards on all HCIs.

Check for support of debug transfers from all HCIs and use the ones
that provide it.


# ec5cc81fa0d9f5c717d6c8758a9abb2f39cfbf8a 13-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

exit_debugger():
* Only try to cancel the a transfer, if sUseUSBKeyboard is set.
* Set the "_usbPipe" parameter.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42181 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 8bcc50c336108e882e215c8c5cec57155464edf4 12-Jun-2011 Ingo Weinhold <ingo_weinhold@gmx.de>

* Added arch_debug_blue_screen_try_getchar() and arch_debug_serial_try_getchar()
which don't wait for a character, but return -1 when no character is
available ATM. Implemented correctly for x86 only.
* Changed the semantics of the debugger_module_info::debugger_getchar() hook.
It is supposed to return immediately now.
* Adjusted usb_keyboard accordingly. Hacked UHCI's debug_process_transfer() to
achieve that. It does now start, check, or cancel a transfer. Split
UHCI::ProcessDebugTransfer() into StartDebugTransfer(), and
CheckDebugTransfer() accordingly, and also added a CancelDebugTransfer().
The latter seems to have issues. Michael, please have a look. I have no clue
what I'm doing. :-)
* Adjusted kgetc() to poll all possible inputs using the new
functions/semantics. This allows to use any input (USB, PS/2, serial) in KDL.
* Removed the no longer needed "serial_input" command.
* read_line(): Also support 0x7f as backspace code. That's what xterm sends.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@42126 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5a0bca36e0d9574ce3b295997256a26818ff8d82 19-Apr-2009 Michael Lotz <mmlr@mlotz.ch>

Unset the debugger variables before evaluating support to ensure that in case of
error we do not reuse old values from a previous KDL session. This ensures that
we don't try to use a USB keyboard if it was un- and replugged on an unsupported
port.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@30266 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 5b9d5a2ec9b28fb9d787dc264e8903a4dbc3fb55 10-Mar-2009 Michael Lotz <mmlr@mlotz.ch>

* Add has_debugger_command() so whether or not a debugger command is available
can be checked.
* Make the usb_keyboard module check the presence of the needed debugger
commands to avoid the error messages in case of them being unavailable.


git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29472 a95241bf-73f2-0310-859d-f6bbb57e9c96


# 1c053f17713499f5d16e3baf989c127199ca5d7d 22-Feb-2009 Michael Lotz <mmlr@mlotz.ch>

Obviously forgot this in the last commit...

git-svn-id: file:///srv/svn/repos/haiku/haiku/trunk@29292 a95241bf-73f2-0310-859d-f6bbb57e9c96