Subversion Repositories HelenOS-historic

Rev

Rev 1518 | Rev 1610 | Go to most recent revision | Show entire file | Ignore whitespace | Details | Blame | Last modification | View Log | RSS feed

Rev 1518 Rev 1560
Line 89... Line 89...
89
                retval = 0;
89
                retval = 0;
90
                break;
90
                break;
91
 
91
 
92
            case IPC_M_INTERRUPT:
92
            case IPC_M_INTERRUPT:
93
                if (connected) {
93
                if (connected) {
-
 
94
                    int chr;
94
                    /* recode to ASCII - one interrupt can produce more than one code so result is stored in fifo */
95
                    /* recode to ASCII - one interrupt can produce more than one code so result is stored in fifo */
95
                    kbd_arch_process(&keybuffer, IPC_GET_ARG2(call));
96
                    kbd_arch_process(&keybuffer, IPC_GET_ARG2(call));
96
 
97
 
97
                    retval = 0;
98
                    retval = 0;
-
 
99
                   
98
 
100
 
99
                    while (!keybuffer_empty(&keybuffer)) {
101
                    while (!keybuffer_empty(&keybuffer)) {
100
                        if (!keybuffer_pop(&keybuffer, (char *)&arg1)) {
102
                        if (!keybuffer_pop(&keybuffer, (int *)&chr)) {
101
                            break;
103
                            break;
102
                        }
104
                        }
-
 
105
                        {
-
 
106
                            arg1=chr;
103
                        send_call(phoneid, KBD_PUSHCHAR, arg1);
107
                            send_call(phoneid, KBD_PUSHCHAR, arg1);
-
 
108
                        }    
104
                    }
109
                    }
105
 
110
 
106
                }
111
                }
107
                break;
112
                break;
108
            default:
113
            default: