Changeset 381646bbb8c15d32a4c5975dbe1ce5ec0c269683
- Timestamp:
- 27/03/08 19:46:22
(8 months ago)
- Author:
- Rémi Denis-Courmont <rem@videolan.org>
- git-committer:
- Rémi Denis-Courmont <rem@videolan.org> 1206643582 +0200
- git-parent:
[a7db90c636021ad806c0ff6aa491f7d875051574]
- git-author:
- Rémi Denis-Courmont <rem@videolan.org> 1206564009 +0200
- Message:
MKV: use key-action
-
Files:
-
Legend:
- Unmodified
- Added
- Removed
- Modified
- Copied
- Moved
| rbcddfd6 |
r381646b |
|
| 1282 | 1282 | vlc_bool_t b_moved; |
|---|
| 1283 | 1283 | vlc_bool_t b_clicked; |
|---|
| 1284 | | vlc_bool_t b_key; |
|---|
| | 1284 | int i_key_action; |
|---|
| 1285 | 1285 | |
|---|
| 1286 | 1286 | } event_thread_t; |
|---|
| … | … | |
| 2713 | 2713 | } |
|---|
| 2714 | 2714 | |
|---|
| 2715 | | int demux_sys_t::EventKey( vlc_object_t *p_this, char const *psz_var, |
|---|
| 2716 | | vlc_value_t oldval, vlc_value_t newval, void *p_data ) |
|---|
| | 2715 | int demux_sys_t::EventKey( vlc_object_t *p_this, char const *, |
|---|
| | 2716 | vlc_value_t, vlc_value_t newval, void *p_data ) |
|---|
| 2717 | 2717 | { |
|---|
| 2718 | 2718 | event_thread_t *p_ev = (event_thread_t *) p_data; |
|---|
| 2719 | 2719 | vlc_mutex_lock( &p_ev->lock ); |
|---|
| 2720 | | p_ev->b_key = VLC_TRUE; |
|---|
| | 2720 | p_ev->i_key_action = newval.i_int; |
|---|
| 2721 | 2721 | vlc_mutex_unlock( &p_ev->lock ); |
|---|
| 2722 | 2722 | msg_Dbg( p_this, "Event Key"); |
|---|
| … | … | |
| 2733 | 2733 | p_ev->b_moved = VLC_FALSE; |
|---|
| 2734 | 2734 | p_ev->b_clicked = VLC_FALSE; |
|---|
| 2735 | | p_ev->b_key = VLC_FALSE; |
|---|
| | 2735 | p_ev->i_key_action = 0; |
|---|
| 2736 | 2736 | |
|---|
| 2737 | 2737 | /* catch all key event */ |
|---|
| 2738 | | var_AddCallback( p_ev->p_libvlc, "key-pressed", EventKey, p_ev ); |
|---|
| | 2738 | var_AddCallback( p_ev->p_libvlc, "key-action", EventKey, p_ev ); |
|---|
| 2739 | 2739 | |
|---|
| 2740 | 2740 | /* main loop */ |
|---|
| … | … | |
| 2751 | 2751 | |
|---|
| 2752 | 2752 | /* KEY part */ |
|---|
| 2753 | | if( p_ev->b_key ) |
|---|
| 2754 | | { |
|---|
| 2755 | | vlc_value_t valk; |
|---|
| 2756 | | struct libvlc_int_t::hotkey *p_hotkeys = p_ev->p_libvlc->p_hotkeys; |
|---|
| 2757 | | int i, i_action = -1; |
|---|
| | 2753 | if( p_ev->i_key_action ) |
|---|
| | 2754 | { |
|---|
| | 2755 | int i; |
|---|
| 2758 | 2756 | |
|---|
| 2759 | 2757 | msg_Dbg( p_ev->p_demux, "Handle Key Event"); |
|---|
| … | … | |
| 2763 | 2761 | pci_t *pci = (pci_t *) &p_sys->pci_packet; |
|---|
| 2764 | 2762 | |
|---|
| 2765 | | var_Get( p_ev->p_libvlc, "key-pressed", &valk ); |
|---|
| 2766 | | for( i = 0; p_hotkeys[i].psz_action != NULL; i++ ) |
|---|
| 2767 | | { |
|---|
| 2768 | | if( p_hotkeys[i].i_key == valk.i_int ) |
|---|
| 2769 | | { |
|---|
| 2770 | | i_action = p_hotkeys[i].i_action; |
|---|
| 2771 | | } |
|---|
| 2772 | | } |
|---|
| 2773 | | |
|---|
| 2774 | 2763 | uint16 i_curr_button = p_sys->dvd_interpretor.GetSPRM( 0x88 ); |
|---|
| 2775 | 2764 | |
|---|
| 2776 | | switch( i_action ) |
|---|
| | 2765 | switch( p_ev->i_key_action ) |
|---|
| 2777 | 2766 | { |
|---|
| 2778 | 2767 | case ACTIONID_NAV_LEFT: |
|---|
| … | … | |
| 2888 | 2877 | break; |
|---|
| 2889 | 2878 | } |
|---|
| 2890 | | p_ev->b_key = VLC_FALSE; |
|---|
| | 2879 | p_ev->i_key_action = 0; |
|---|
| 2891 | 2880 | vlc_mutex_unlock( &p_ev->lock ); |
|---|
| 2892 | 2881 | } |
|---|
| … | … | |
| 3038 | 3027 | vlc_object_release( p_vout ); |
|---|
| 3039 | 3028 | } |
|---|
| 3040 | | var_DelCallback( p_ev->p_libvlc, "key-pressed", EventKey, p_ev ); |
|---|
| | 3029 | var_DelCallback( p_ev->p_libvlc, "key-action", EventKey, p_ev ); |
|---|
| 3041 | 3030 | |
|---|
| 3042 | 3031 | vlc_mutex_destroy( &p_ev->lock ); |
|---|