mirror of
https://gitlab.com/freepascal.org/fpc/source.git
synced 2025-08-10 01:26:03 +02:00
* now also fixes div hz with hz=0 for Linux, and reenables it for FreeBSD. Still needs phys console check though
git-svn-id: trunk@7489 -
This commit is contained in:
parent
d1f7be8c7b
commit
08d10efb9f
@ -1390,32 +1390,35 @@ Begin
|
||||
ScrollScrnRegionDown(WindMinX, CurrY, WindMaxX, WindMaxY, 1);
|
||||
End;
|
||||
|
||||
|
||||
{$ifdef linux}
|
||||
const
|
||||
KIOCSOUND = $4B2F; // start sound generation (0 for off)
|
||||
{$define havekiocsound}
|
||||
const KIOCSOUND = $4B2F; // start sound generation (0 for off)
|
||||
{$else}
|
||||
{$ifdef FreeBSD}
|
||||
const KIOCSOUND =$20004b3f;
|
||||
{$define havekiocsound}
|
||||
{$endif}
|
||||
{$endif}
|
||||
|
||||
// ioctl might fail e.g. in putty. A redirect check is not enough,
|
||||
// needs check for physical console too.
|
||||
|
||||
Procedure Sound(Hz: Word);
|
||||
begin
|
||||
{$ifdef linux}
|
||||
if not OutputRedir then
|
||||
{$ifdef havekiocsound}
|
||||
if (not OutputRedir) and (hz>0) then
|
||||
fpIoctl(TextRec(Output).Handle, KIOCSOUND, Pointer(1193180 div Hz));
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure NoSound;
|
||||
begin
|
||||
{$ifdef linux}
|
||||
{$ifdef havekiocsound}
|
||||
if not OutputRedir then
|
||||
fpIoctl(TextRec(Output).Handle, KIOCSOUND, nil);
|
||||
{$endif}
|
||||
end;
|
||||
|
||||
|
||||
|
||||
Procedure TextMode (Mode: word);
|
||||
{
|
||||
Only Clears Screen under linux}
|
||||
|
Loading…
Reference in New Issue
Block a user