🐛 修复\b的bug

This commit is contained in:
fslongjin 2022-03-17 00:17:23 +08:00
parent 1333afd703
commit 1e52bbe901
3 changed files with 5 additions and 16 deletions

View File

@ -693,7 +693,6 @@ int printk_color(unsigned int FRcolor, unsigned int BKcolor, const char *fmt, ..
}
putchar(pos.FB_address, pos.width, pos.x * pos.char_size_x, pos.y * pos.char_size_y, FRcolor, BKcolor, ' ');
++pos.x;
auto_newline();
}
@ -754,7 +753,7 @@ int scroll(bool direction, int pixels, bool animation)
return do_scroll(direction, pixels);
else
{
int count_pixels = 0;
int steps;
if (pixels > 10)
steps = 5;
@ -775,7 +774,6 @@ int scroll(bool direction, int pixels, bool animation)
trace[js_trace] = (int)(accelerate * i + 0.5);
current_pixels += trace[js_trace];
do_scroll(direction, trace[js_trace]);
count_pixels += trace[js_trace];
++js_trace;
}
@ -785,7 +783,6 @@ int scroll(bool direction, int pixels, bool animation)
{
delta_x = pixels / 2 - current_pixels;
current_pixels += delta_x;
count_pixels += delta_x;
do_scroll(direction, delta_x);
}
@ -794,7 +791,6 @@ int scroll(bool direction, int pixels, bool animation)
{
current_pixels += trace[i];
do_scroll(direction, trace[i]);
count_pixels += trace[i];
}
if (current_pixels > pixels)
@ -804,16 +800,9 @@ int scroll(bool direction, int pixels, bool animation)
if (current_pixels < pixels)
{
delta_x = pixels - current_pixels;
count_pixels += delta_x;
current_pixels += delta_x;
do_scroll(direction, delta_x);
}
if (count_pixels != pixels)
{
kBUG("In printk: count_pixels(%d) != pixels(%d) current_pixels = %d", count_pixels, pixels, current_pixels);
while (1)
;
}
}
return 0;

View File

@ -345,7 +345,7 @@ void keyboard_analyze_keycode()
break;
}
if (key)
printk_color(ORANGE, WHITE, "(key:%c)\t", key);
printk_color(ORANGE, BLACK, "%c", key);
}
}

View File

@ -70,8 +70,8 @@ uint keycode_map_normal[NUM_SCAN_CODES*MAP_COLS] =
/*0x0b*/ '0', ')',
/*0x0c*/ '-', '_',
/*0x0d*/ '=', '+',
/*0x0e*/ 0, 0, //BACKSPACE
/*0x0f*/ 0, 0, //TAB
/*0x0e*/ '\b', '\b', //BACKSPACE
/*0x0f*/ '\t', '\t', //TAB
/*0x10*/ 'q', 'Q',
/*0x11*/ 'w', 'W',
@ -85,7 +85,7 @@ uint keycode_map_normal[NUM_SCAN_CODES*MAP_COLS] =
/*0x19*/ 'p', 'P',
/*0x1a*/ '[', '{',
/*0x1b*/ ']', '}',
/*0x1c*/ 0, 0, //ENTER
/*0x1c*/ '\n', '\n', //ENTER
/*0x1d*/ 0x1d, 0x1d, //CTRL Left
/*0x1e*/ 'a', 'A',
/*0x1f*/ 's', 'S',